{"_id":"@chunteng-web3/redstone_transparent_upgradeable_proxy","_rev":"7-0ed67d842a689a99c4504a281eeb997d","time":{"created":"2024-01-30T20:49:07.149Z","0.0.1":"2024-01-30T20:36:50.154Z","modified":"2024-02-07T13:43:49.179Z","0.0.2":"2024-01-30T20:49:07.526Z","0.0.3":"2024-01-31T23:51:23.382Z","0.0.4":"2024-02-06T09:47:23.204Z","0.0.5":"2024-02-07T03:18:03.848Z","0.0.6":"2024-02-07T13:43:48.998Z"},"name":"@chunteng-web3/redstone_transparent_upgradeable_proxy","dist-tags":{"latest":"0.0.6"},"versions":{"0.0.2":{"name":"@chunteng-web3/redstone_transparent_upgradeable_proxy","version":"0.0.2","description":"This project is an extension and combination of `RedStone` and `OpenZeppelin` transparent proxy that allows wrapping any existing or audited smart contracts to migrate to a pull-model based Oracle services without re-deployments or re-auditing, and also a","main":"index.js","scripts":{"compile":"npx hardhat compile","test":"npx hardhat test","build":"tsc --outDIR ./dist"},"keywords":[],"author":{"name":"chunteng-web3","email":"chunteng@astriddao.xyz"},"repository":{"type":"git","url":"git+https://github.com/chunteng-web3/RedStoneTransparentUpgradeableProxy.git"},"license":"ISC","devDependencies":{"@nomiclabs/hardhat-ethers":"^2.0.5","@nomiclabs/hardhat-etherscan":"^3.1.7","@nomiclabs/hardhat-truffle5":"^2.0.5","@nomiclabs/hardhat-waffle":"^2.0.6","@nomiclabs/hardhat-web3":"^2.0.0","@typechain/ethers-v5":"^11.1.2","@typechain/ethers-v6":"^0.5.1","@types/mocha":"^10.0.6","chai":"^4.3.6","chai-almost":"^1.0.1","dayjs":"^1.11.0","ethereum-waffle":"^4.0.10","ethers":"^5.7.2","hardhat":"^2.12.4","hardhat-contract-sizer":"^2.5.0","hardhat-gas-reporter":"^1.0.8","npm-run-all":"^4.1.5","solidity-coverage":"^0.8.1","ts-node":"^10.9.2","typescript":"^5.3.3","web3":"^1.7.1"},"dependencies":{"@openzeppelin/contracts":"^4.8.0","@redstone-finance/evm-connector":"^0.3.6","@typechain/hardhat":"^7.0.0","dotenv":"^16.0.1","fs":"^0.0.1-security","prompt-sync":"^4.2.0","readline":"^1.3.0","truffle-assertions":"^0.9.2","typechain":"^8.3.2"},"bugs":{"url":"https://github.com/chunteng-web3/RedStoneTransparentUpgradeableProxy/issues"},"homepage":"https://github.com/chunteng-web3/RedStoneTransparentUpgradeableProxy#readme","directories":{"test":"test"},"_id":"@chunteng-web3/redstone_transparent_upgradeable_proxy@0.0.2","gitHead":"35723f94dbc1ce03100ed15e87f6ee7bc5550a85","_nodeVersion":"20.6.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-yNEJJsgay0JIN+1YifM2ofy/hmcL/xRhx9WzRzijjOfhyGrQiQVzGq+h0csDDnV6doJaT2fEJADE+Vxr7uMvgg==","shasum":"9ab664e39f427da2e7e086b08e4b3957a011f6a7","tarball":"https://registry.npmjs.org/@chunteng-web3/redstone_transparent_upgradeable_proxy/-/redstone_transparent_upgradeable_proxy-0.0.2.tgz","fileCount":277,"unpackedSize":6518885,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClbdM+N86sDMpEkq3uAXwq2/wbDS8/9iRaG5f0WL8VDgIhANIDpsxDoENf2mSiIkJMhzwBQiG3sTenkiu465pNj/lX"}]},"_npmUser":{"name":"chunteng-web3","email":"chunteng@astriddao.xyz"},"maintainers":[{"name":"chunteng-web3","email":"chunteng@astriddao.xyz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redstone_transparent_upgradeable_proxy_0.0.2_1706647747275_0.45862009898119394"},"_hasShrinkwrap":false},"0.0.3":{"name":"@chunteng-web3/redstone_transparent_upgradeable_proxy","version":"0.0.3","description":"This project is an extension and combination of `RedStone` and `OpenZeppelin` transparent proxy that allows wrapping any existing or audited smart contracts to migrate to a pull-model based Oracle services without re-deployments or re-auditing, and also a","main":"dist/src/redstone-transparent-proxy-helpers.js","scripts":{"compile":"npx hardhat compile","test":"npx hardhat test","build":"tsc --outDIR ./dist"},"keywords":[],"author":{"name":"chunteng-web3","email":"chunteng@astriddao.xyz"},"repository":{"type":"git","url":"git+https://github.com/chunteng-web3/RedStoneTransparentUpgradeableProxy.git"},"license":"ISC","devDependencies":{"@nomiclabs/hardhat-ethers":"^2.0.5","@nomiclabs/hardhat-etherscan":"^3.1.7","@nomiclabs/hardhat-truffle5":"^2.0.5","@nomiclabs/hardhat-waffle":"^2.0.6","@nomiclabs/hardhat-web3":"^2.0.0","@typechain/ethers-v5":"^11.1.2","@typechain/ethers-v6":"^0.5.1","@types/mocha":"^10.0.6","chai":"^4.3.6","chai-almost":"^1.0.1","dayjs":"^1.11.0","ethereum-waffle":"^4.0.10","ethers":"^5.7.2","hardhat":"^2.12.4","hardhat-contract-sizer":"^2.5.0","hardhat-gas-reporter":"^1.0.8","npm-run-all":"^4.1.5","solidity-coverage":"^0.8.1","ts-node":"^10.9.2","typescript":"^5.3.3","web3":"^1.7.1"},"dependencies":{"@openzeppelin/contracts":"^4.8.0","@redstone-finance/evm-connector":"^0.3.6","@typechain/hardhat":"^7.0.0","dotenv":"^16.0.1","fs":"^0.0.1-security","prompt-sync":"^4.2.0","readline":"^1.3.0","truffle-assertions":"^0.9.2","typechain":"^8.3.2"},"bugs":{"url":"https://github.com/chunteng-web3/RedStoneTransparentUpgradeableProxy/issues"},"homepage":"https://github.com/chunteng-web3/RedStoneTransparentUpgradeableProxy#readme","directories":{"test":"test"},"_id":"@chunteng-web3/redstone_transparent_upgradeable_proxy@0.0.3","gitHead":"35723f94dbc1ce03100ed15e87f6ee7bc5550a85","_nodeVersion":"20.6.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-QwBx3V7T/nhIQnwv0NiWqKTBYZ96hC2w/qOp4GMglo+Ke/qjPNIBN3Ld6of0UL6hQdT4SbG/acUiMI3R/gWBVg==","shasum":"d5372ea0ff44c4f4bae88405fe6c7ce75b49ded9","tarball":"https://registry.npmjs.org/@chunteng-web3/redstone_transparent_upgradeable_proxy/-/redstone_transparent_upgradeable_proxy-0.0.3.tgz","fileCount":277,"unpackedSize":6519131,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDr8LJf416Bkk4fFzkr/lccFIe0OdFdKwOAvhPhoScSTwIhAP8EG9hWy4DnAAlis8onOq+H3ESj2vdwVwUrBA2xfs2a"}]},"_npmUser":{"name":"chunteng-web3","email":"chunteng@astriddao.xyz"},"maintainers":[{"name":"chunteng-web3","email":"chunteng@astriddao.xyz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redstone_transparent_upgradeable_proxy_0.0.3_1706745083186_0.6984997700864213"},"_hasShrinkwrap":false},"0.0.4":{"name":"@chunteng-web3/redstone_transparent_upgradeable_proxy","version":"0.0.4","description":"This project is an extension and combination of `RedStone` and `OpenZeppelin` transparent proxy that allows wrapping any existing or audited smart contracts to migrate to a pull-model based Oracle services without re-deployments or re-auditing, and also a","main":"dist/src/redstone-transparent-proxy-helpers.js","scripts":{"compile":"npx hardhat compile","test":"npx hardhat test","build":"tsc --outDIR ./dist"},"keywords":[],"author":{"name":"chunteng-web3","email":"chunteng@astriddao.xyz"},"repository":{"type":"git","url":"git+https://github.com/chunteng-web3/RedStoneTransparentUpgradeableProxy.git"},"license":"ISC","devDependencies":{"@nomiclabs/hardhat-ethers":"^2.0.5","@nomiclabs/hardhat-etherscan":"^3.1.7","@nomiclabs/hardhat-truffle5":"^2.0.5","@nomiclabs/hardhat-waffle":"^2.0.6","@nomiclabs/hardhat-web3":"^2.0.0","@typechain/ethers-v5":"^11.1.2","@typechain/ethers-v6":"^0.5.1","@types/mocha":"^10.0.6","chai":"^4.3.6","chai-almost":"^1.0.1","dayjs":"^1.11.0","ethereum-waffle":"^4.0.10","ethers":"^5.7.2","hardhat":"^2.12.4","hardhat-contract-sizer":"^2.5.0","hardhat-gas-reporter":"^1.0.8","npm-run-all":"^4.1.5","solidity-coverage":"^0.8.1","ts-node":"^10.9.2","typescript":"^5.3.3","web3":"^1.7.1"},"dependencies":{"@openzeppelin/contracts":"^4.8.0","@redstone-finance/evm-connector":"^0.3.6","@typechain/hardhat":"^7.0.0","dotenv":"^16.0.1","fs":"^0.0.1-security","prompt-sync":"^4.2.0","readline":"^1.3.0","truffle-assertions":"^0.9.2","typechain":"^8.3.2"},"bugs":{"url":"https://github.com/chunteng-web3/RedStoneTransparentUpgradeableProxy/issues"},"homepage":"https://github.com/chunteng-web3/RedStoneTransparentUpgradeableProxy#readme","directories":{"test":"test"},"types":"./dist/src/redstone-transparent-proxy-helpers.d.ts","_id":"@chunteng-web3/redstone_transparent_upgradeable_proxy@0.0.4","gitHead":"f4046fc057f84664cac775efa4720f1f0f95e401","_nodeVersion":"20.6.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-LUIgOlVki6f+4EX5NbX2gebF/w+UziMPLHIR+injLy5W8gJFPSVrLpcvumbYYLeTtSoC5Zk/6FZBjIOxEPOCqQ==","shasum":"b25d0d4efdc6bdec2576b008e18eddcfecf590c2","tarball":"https://registry.npmjs.org/@chunteng-web3/redstone_transparent_upgradeable_proxy/-/redstone_transparent_upgradeable_proxy-0.0.4.tgz","fileCount":376,"unpackedSize":6897476,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDMVsEe8L94CXXAPh7P51QPWEd4k6XD4YkWvP5ThgG83AiA+OLNf15183+sGW0c8ni5dW+/+Lf7c7eefgvCpIWhYZw=="}]},"_npmUser":{"name":"chunteng-web3","email":"chunteng@astriddao.xyz"},"maintainers":[{"name":"chunteng-web3","email":"chunteng@astriddao.xyz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redstone_transparent_upgradeable_proxy_0.0.4_1707212842957_0.17953449526178433"},"_hasShrinkwrap":false},"0.0.5":{"name":"@chunteng-web3/redstone_transparent_upgradeable_proxy","version":"0.0.5","description":"This project is an extension and combination of `RedStone` and `OpenZeppelin` transparent proxy that allows wrapping any existing or audited smart contracts to migrate to a pull-model based Oracle services without re-deployments or re-auditing, and also a","main":"dist/src/redstone-transparent-proxy-helpers.js","scripts":{"compile":"npx hardhat compile","test":"npx hardhat test","build":"tsc --outDIR ./dist"},"keywords":[],"author":{"name":"chunteng-web3","email":"chunteng@astriddao.xyz"},"repository":{"type":"git","url":"git+https://github.com/chunteng-web3/RedStoneTransparentUpgradeableProxy.git"},"license":"ISC","devDependencies":{"@nomiclabs/hardhat-ethers":"^2.0.5","@nomiclabs/hardhat-etherscan":"^3.1.7","@nomiclabs/hardhat-truffle5":"^2.0.5","@nomiclabs/hardhat-waffle":"^2.0.6","@nomiclabs/hardhat-web3":"^2.0.0","@typechain/ethers-v5":"^11.1.2","@typechain/ethers-v6":"^0.5.1","@types/mocha":"^10.0.6","chai":"^4.3.6","chai-almost":"^1.0.1","dayjs":"^1.11.0","ethereum-waffle":"^4.0.10","ethers":"^5.7.2","hardhat":"^2.12.4","hardhat-contract-sizer":"^2.5.0","hardhat-gas-reporter":"^1.0.8","npm-run-all":"^4.1.5","solidity-coverage":"^0.8.1","ts-node":"^10.9.2","typescript":"^5.3.3","web3":"^1.7.1"},"dependencies":{"@openzeppelin/contracts":"^4.8.0","@redstone-finance/evm-connector":"^0.3.6","@typechain/hardhat":"^7.0.0","dotenv":"^16.0.1","fs":"^0.0.1-security","prompt-sync":"^4.2.0","readline":"^1.3.0","truffle-assertions":"^0.9.2","typechain":"^8.3.2"},"bugs":{"url":"https://github.com/chunteng-web3/RedStoneTransparentUpgradeableProxy/issues"},"homepage":"https://github.com/chunteng-web3/RedStoneTransparentUpgradeableProxy#readme","directories":{"test":"test"},"types":"./dist/src/redstone-transparent-proxy-helpers.d.ts","_id":"@chunteng-web3/redstone_transparent_upgradeable_proxy@0.0.5","gitHead":"d26a5e18244074873ea4b20c82b24d9ace32a4fe","_nodeVersion":"20.6.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-fKeujTUwjYd9M+0KJ9/gSBOIzD5o2Q8DOJYRb9x0qbts/jfKs56Y/keXYh/kyaT8sJMgWBt8mL1C1G3OiVXRFA==","shasum":"2b23c9cea3cd9af8ebe851f02bd33da298938ff1","tarball":"https://registry.npmjs.org/@chunteng-web3/redstone_transparent_upgradeable_proxy/-/redstone_transparent_upgradeable_proxy-0.0.5.tgz","fileCount":384,"unpackedSize":7760715,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGj5pz4JAUxDjxCpWzNqCZu8OCN+r07Seyc/LGtjcZ4gIgX3EWRqdeHoNG84jrh71YfkMGQJalNKdM5PSHZxymj2g="}]},"_npmUser":{"name":"chunteng-web3","email":"chunteng@astriddao.xyz"},"maintainers":[{"name":"chunteng-web3","email":"chunteng@astriddao.xyz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redstone_transparent_upgradeable_proxy_0.0.5_1707275883621_0.7921162833549804"},"_hasShrinkwrap":false},"0.0.6":{"name":"@chunteng-web3/redstone_transparent_upgradeable_proxy","version":"0.0.6","description":"This project is an extension and combination of `RedStone` and `OpenZeppelin` transparent proxy that allows wrapping any existing or audited smart contracts to migrate to a pull-model based Oracle services without re-deployments or re-auditing, and also a","main":"dist/src/redstone-transparent-proxy-helpers.js","scripts":{"compile":"npx hardhat compile","test":"npx hardhat test","build":"tsc --outDIR ./dist"},"keywords":[],"author":{"name":"chunteng-web3","email":"chunteng@astriddao.xyz"},"repository":{"type":"git","url":"git+https://github.com/chunteng-web3/RedStoneTransparentUpgradeableProxy.git"},"license":"ISC","devDependencies":{"@nomiclabs/hardhat-ethers":"^2.0.5","@nomiclabs/hardhat-etherscan":"^3.1.7","@nomiclabs/hardhat-truffle5":"^2.0.5","@nomiclabs/hardhat-waffle":"^2.0.6","@nomiclabs/hardhat-web3":"^2.0.0","@typechain/ethers-v5":"^11.1.2","@typechain/ethers-v6":"^0.5.1","@types/mocha":"^10.0.6","chai":"^4.3.6","chai-almost":"^1.0.1","dayjs":"^1.11.0","ethereum-waffle":"^4.0.10","ethers":"^5.7.2","hardhat":"^2.12.4","hardhat-contract-sizer":"^2.5.0","hardhat-gas-reporter":"^1.0.8","npm-run-all":"^4.1.5","solidity-coverage":"^0.8.1","ts-node":"^10.9.2","typescript":"^5.3.3","web3":"^1.7.1"},"dependencies":{"@openzeppelin/contracts":"^4.8.0","@redstone-finance/evm-connector":"^0.3.6","@typechain/hardhat":"^7.0.0","dotenv":"^16.0.1","fs":"^0.0.1-security","prompt-sync":"^4.2.0","readline":"^1.3.0","truffle-assertions":"^0.9.2","typechain":"^8.3.2"},"bugs":{"url":"https://github.com/chunteng-web3/RedStoneTransparentUpgradeableProxy/issues"},"homepage":"https://github.com/chunteng-web3/RedStoneTransparentUpgradeableProxy#readme","directories":{"test":"test"},"types":"./dist/src/redstone-transparent-proxy-helpers.d.ts","_id":"@chunteng-web3/redstone_transparent_upgradeable_proxy@0.0.6","gitHead":"915de68fb7faf87be6f9ea123432047d28aac2fb","_nodeVersion":"20.6.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-9cmF5xO08XBree6LmU/iX3mnILIrT357RaS7RYvL/aqSTtR5V562YjO/2HS7fCUnVZhwAzu7uE31S4nBO/d06Q==","shasum":"44899cbddc47ecc977f4c6f545fc23b134be90ed","tarball":"https://registry.npmjs.org/@chunteng-web3/redstone_transparent_upgradeable_proxy/-/redstone_transparent_upgradeable_proxy-0.0.6.tgz","fileCount":384,"unpackedSize":7762577,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgFJIKqDp6YaXD5zvfuztx+yN56dVsJNK6/d9IN77ojQIhAP+dUHmtZ1SpmKqO1uCryaMGeDLasA/t6rS390UkK8/d"}]},"_npmUser":{"name":"chunteng-web3","email":"chunteng@astriddao.xyz"},"maintainers":[{"name":"chunteng-web3","email":"chunteng@astriddao.xyz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redstone_transparent_upgradeable_proxy_0.0.6_1707313428726_0.4915704822344771"},"_hasShrinkwrap":false}},"maintainers":[{"name":"chunteng-web3","email":"chunteng@astriddao.xyz"}],"description":"This project is an extension and combination of `RedStone` and `OpenZeppelin` transparent proxy that allows wrapping any existing or audited smart contracts to migrate to a pull-model based Oracle services without re-deployments or re-auditing, and also a","homepage":"https://github.com/chunteng-web3/RedStoneTransparentUpgradeableProxy#readme","keywords":[],"repository":{"type":"git","url":"git+https://github.com/chunteng-web3/RedStoneTransparentUpgradeableProxy.git"},"author":{"name":"chunteng-web3","email":"chunteng@astriddao.xyz"},"bugs":{"url":"https://github.com/chunteng-web3/RedStoneTransparentUpgradeableProxy/issues"},"license":"ISC","readme":"# RedStoneTransparentUpgradeableProxy\n\nThis project is an extension and combination of `RedStone` and `OpenZeppelin` transparent proxy that allows wrapping any existing or audited smart contracts to migrate to a pull-model based Oracle services without re-deployments or re-auditing, and also a one-click migration for a smooth upgrading experience.\n\nIt comes with an extension of `TransparentUpgradeableProxy` of OpenZeppelin that overrides `_delegate(address implementation)` and also implementation auxiliary functions to allow injecting the RedStone service logic when calling the proxy. It also supports one-click migration for which you can extend `RedStoneTransparentUpgradeableProxy` and override the example `_executeMigrationLogic(address nonUpgradeableContract, bytes[] memory)` to implement your own logic of migration to the new contract for scenarios where the old contract to be replaced has been used and generated data previously.\n\n## RedStonePriceExtractor\n\nAs an extension of the official PriceExtractor, you can maximize flexibility of how you want to load the latest price from RedStone by implementing abstract contract `RedStonePriceExtractor.sol`. You can directly use the price on the fly for queries or store the price in your own contract by overriding `_afterExtractPrice` function.\n\n## `redstone-transparent-proxy-helpers`\n\nFor frontend and script implementation, you can use `redstone-transparent-proxy-helpers` to setup and interact with the proxy contract. It is essentially an extension of the official `WrapperBuilder` from `\"@redstone-finance/evm-connector\"`;\n\nTry and follow `test/redstone.ts` to see how to do so in your deployment script and frontend project.\n\n## Notes\n\n1. Make sure you use the compatible version of hardhat, Solidity, and Ethers.js as specified in `package.json` and `hardhat.config.js`.\n","readmeFilename":"README.md"}