@enclave-e3/contracts 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -2
- package/artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json +135 -0
- package/artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/artifacts.d.ts +27 -0
- package/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json +77 -0
- package/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +126 -0
- package/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/artifacts.d.ts +43 -0
- package/artifacts/build-info/solc-0_8_28-5150b9e6b6cf4df4986fccba97bea37a16fdfebc.json +311 -0
- package/artifacts/build-info/solc-0_8_28-5150b9e6b6cf4df4986fccba97bea37a16fdfebc.output.json +1 -0
- package/artifacts/contracts/Enclave.sol/Enclave.json +239 -147
- package/artifacts/contracts/Enclave.sol/artifacts.d.ts +6 -6
- package/artifacts/contracts/interfaces/IBondingRegistry.sol/IBondingRegistry.json +881 -0
- package/artifacts/contracts/interfaces/IBondingRegistry.sol/artifacts.d.ts +27 -0
- package/artifacts/contracts/interfaces/ICiphernodeRegistry.sol/ICiphernodeRegistry.json +326 -10
- package/artifacts/contracts/interfaces/ICiphernodeRegistry.sol/artifacts.d.ts +2 -2
- package/artifacts/contracts/interfaces/IComputeProvider.sol/IComputeProvider.json +1 -1
- package/artifacts/contracts/interfaces/IComputeProvider.sol/artifacts.d.ts +1 -1
- package/artifacts/contracts/interfaces/IDecryptionVerifier.sol/IDecryptionVerifier.json +1 -1
- package/artifacts/contracts/interfaces/IDecryptionVerifier.sol/artifacts.d.ts +1 -1
- package/artifacts/contracts/interfaces/IE3Program.sol/IE3Program.json +21 -3
- package/artifacts/contracts/interfaces/IE3Program.sol/artifacts.d.ts +2 -2
- package/artifacts/contracts/interfaces/IEnclave.sol/IEnclave.json +247 -27
- package/artifacts/contracts/interfaces/IEnclave.sol/artifacts.d.ts +2 -2
- package/artifacts/contracts/interfaces/{IRegistryFilter.sol/IRegistryFilter.json → ISlashVerifier.sol/ISlashVerifier.json} +10 -10
- package/artifacts/contracts/interfaces/ISlashVerifier.sol/artifacts.d.ts +27 -0
- package/artifacts/contracts/interfaces/ISlashingManager.sol/ISlashingManager.json +759 -0
- package/artifacts/contracts/interfaces/ISlashingManager.sol/artifacts.d.ts +27 -0
- package/artifacts/contracts/lib/ExitQueueLib.sol/ExitQueueLib.json +116 -0
- package/artifacts/contracts/lib/ExitQueueLib.sol/artifacts.d.ts +27 -0
- package/artifacts/contracts/registry/BondingRegistry.sol/BondingRegistry.json +1217 -0
- package/artifacts/contracts/registry/BondingRegistry.sol/artifacts.d.ts +27 -0
- package/artifacts/contracts/registry/CiphernodeRegistryOwnable.sol/CiphernodeRegistryOwnable.json +351 -57
- package/artifacts/contracts/registry/CiphernodeRegistryOwnable.sol/artifacts.d.ts +6 -6
- package/artifacts/contracts/slashing/SlashingManager.sol/SlashingManager.json +1107 -0
- package/artifacts/contracts/slashing/SlashingManager.sol/artifacts.d.ts +27 -0
- package/artifacts/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry.json +328 -12
- package/artifacts/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey.json +328 -12
- package/artifacts/contracts/test/MockCiphernodeRegistry.sol/artifacts.d.ts +8 -8
- package/artifacts/contracts/test/MockComputeProvider.sol/MockComputeProvider.json +4 -4
- package/artifacts/contracts/test/MockComputeProvider.sol/artifacts.d.ts +4 -4
- package/artifacts/contracts/test/MockDecryptionVerifier.sol/MockDecryptionVerifier.json +3 -3
- package/artifacts/contracts/test/MockDecryptionVerifier.sol/artifacts.d.ts +3 -3
- package/artifacts/contracts/test/MockE3Program.sol/MockE3Program.json +26 -32
- package/artifacts/contracts/test/MockE3Program.sol/artifacts.d.ts +4 -4
- package/artifacts/contracts/test/MockSlashingVerifier.sol/MockSlashingVerifier.json +38 -0
- package/artifacts/contracts/test/MockSlashingVerifier.sol/artifacts.d.ts +27 -0
- package/artifacts/contracts/test/MockStableToken.sol/MockUSDC.json +425 -0
- package/artifacts/contracts/test/MockStableToken.sol/artifacts.d.ts +27 -0
- package/artifacts/contracts/token/EnclaveTicketToken.sol/EnclaveTicketToken.json +1222 -0
- package/artifacts/contracts/token/EnclaveTicketToken.sol/artifacts.d.ts +27 -0
- package/artifacts/contracts/token/EnclaveToken.sol/EnclaveToken.json +1460 -0
- package/artifacts/contracts/token/EnclaveToken.sol/artifacts.d.ts +27 -0
- package/artifacts/poseidon-solidity/PoseidonT3.sol/PoseidonT3.json +3 -3
- package/artifacts/poseidon-solidity/PoseidonT3.sol/artifacts.d.ts +3 -3
- package/contracts/Enclave.sol +230 -81
- package/contracts/interfaces/IBondingRegistry.sol +446 -0
- package/contracts/interfaces/ICiphernodeRegistry.sol +153 -9
- package/contracts/interfaces/IComputeProvider.sol +12 -2
- package/contracts/interfaces/IDecryptionVerifier.sol +11 -6
- package/contracts/interfaces/IE3.sol +21 -17
- package/contracts/interfaces/IE3Program.sol +30 -17
- package/contracts/interfaces/IEnclave.sol +95 -21
- package/contracts/interfaces/ISlashVerifier.sol +23 -0
- package/contracts/interfaces/ISlashingManager.sol +426 -0
- package/contracts/lib/ExitQueueLib.sol +490 -0
- package/contracts/registry/BondingRegistry.sol +737 -0
- package/contracts/registry/CiphernodeRegistryOwnable.sol +393 -26
- package/contracts/slashing/SlashingManager.sol +367 -0
- package/contracts/test/MockCiphernodeRegistry.sol +118 -24
- package/contracts/test/MockComputeProvider.sol +2 -2
- package/contracts/test/MockE3Program.sol +17 -14
- package/contracts/test/MockSlashingVerifier.sol +19 -0
- package/contracts/test/MockStableToken.sol +28 -0
- package/contracts/token/EnclaveTicketToken.sol +243 -0
- package/contracts/token/EnclaveToken.sol +267 -0
- package/dist/hardhat.config.d.ts.map +1 -1
- package/dist/hardhat.config.js +35 -16
- package/dist/ignition/modules/{mockInputValidator.d.ts → bondingRegistry.d.ts} +1 -1
- package/dist/ignition/modules/bondingRegistry.d.ts.map +1 -0
- package/dist/ignition/modules/bondingRegistry.js +35 -0
- package/dist/ignition/modules/ciphernodeRegistry.d.ts.map +1 -1
- package/dist/ignition/modules/ciphernodeRegistry.js +12 -2
- package/dist/ignition/modules/enclave.d.ts.map +1 -1
- package/dist/ignition/modules/enclave.js +16 -7
- package/dist/ignition/modules/{naiveRegistryFilter.d.ts → enclaveTicketToken.d.ts} +1 -1
- package/dist/ignition/modules/enclaveTicketToken.d.ts.map +1 -0
- package/dist/ignition/modules/enclaveTicketToken.js +17 -0
- package/dist/ignition/modules/enclaveToken.d.ts +3 -0
- package/dist/ignition/modules/enclaveToken.d.ts.map +1 -0
- package/dist/ignition/modules/{mockInputValidator.js → enclaveToken.js} +4 -4
- package/dist/ignition/modules/mockCiphernodeRegistry.d.ts.map +1 -1
- package/dist/ignition/modules/mockCiphernodeRegistry.js +0 -1
- package/dist/ignition/modules/mockCiphernodeRegistryEmptyKey.d.ts.map +1 -1
- package/dist/ignition/modules/mockCiphernodeRegistryEmptyKey.js +0 -1
- package/dist/ignition/modules/mockComputeProvider.d.ts.map +1 -1
- package/dist/ignition/modules/mockComputeProvider.js +0 -1
- package/dist/ignition/modules/mockDecryptionVerifier.d.ts.map +1 -1
- package/dist/ignition/modules/mockDecryptionVerifier.js +0 -1
- package/dist/ignition/modules/mockE3Program.d.ts.map +1 -1
- package/dist/ignition/modules/mockE3Program.js +1 -3
- package/dist/ignition/modules/mockSlashingVerifier.d.ts +3 -0
- package/dist/ignition/modules/mockSlashingVerifier.d.ts.map +1 -0
- package/dist/ignition/modules/mockSlashingVerifier.js +10 -0
- package/dist/ignition/modules/mockStableToken.d.ts +3 -0
- package/dist/ignition/modules/mockStableToken.d.ts.map +1 -0
- package/dist/ignition/modules/mockStableToken.js +11 -0
- package/dist/ignition/modules/poseidonT3.d.ts.map +1 -1
- package/dist/ignition/modules/poseidonT3.js +0 -1
- package/dist/ignition/modules/slashingManager.d.ts +3 -0
- package/dist/ignition/modules/slashingManager.d.ts.map +1 -0
- package/dist/ignition/modules/slashingManager.js +16 -0
- package/dist/scripts/cleanIgnitionState.d.ts +12 -0
- package/dist/scripts/cleanIgnitionState.d.ts.map +1 -0
- package/dist/scripts/cleanIgnitionState.js +41 -0
- package/dist/scripts/deployAndSave/bondingRegistry.d.ts +38 -0
- package/dist/scripts/deployAndSave/bondingRegistry.d.ts.map +1 -0
- package/dist/scripts/deployAndSave/bondingRegistry.js +133 -0
- package/dist/scripts/deployAndSave/ciphernodeRegistryOwnable.d.ts +11 -1
- package/dist/scripts/deployAndSave/ciphernodeRegistryOwnable.d.ts.map +1 -1
- package/dist/scripts/deployAndSave/ciphernodeRegistryOwnable.js +76 -19
- package/dist/scripts/deployAndSave/enclave.d.ts +16 -2
- package/dist/scripts/deployAndSave/enclave.d.ts.map +1 -1
- package/dist/scripts/deployAndSave/enclave.js +89 -22
- package/dist/scripts/deployAndSave/enclaveTicketToken.d.ts +20 -0
- package/dist/scripts/deployAndSave/enclaveTicketToken.d.ts.map +1 -0
- package/dist/scripts/deployAndSave/enclaveTicketToken.js +41 -0
- package/dist/scripts/deployAndSave/enclaveToken.d.ts +18 -0
- package/dist/scripts/deployAndSave/enclaveToken.d.ts.map +1 -0
- package/dist/scripts/deployAndSave/enclaveToken.js +57 -0
- package/dist/scripts/deployAndSave/mockComputeProvider.d.ts.map +1 -1
- package/dist/scripts/deployAndSave/mockComputeProvider.js +5 -5
- package/dist/scripts/deployAndSave/mockDecryptionVerifier.d.ts.map +1 -1
- package/dist/scripts/deployAndSave/mockDecryptionVerifier.js +5 -5
- package/dist/scripts/deployAndSave/mockProgram.d.ts +1 -2
- package/dist/scripts/deployAndSave/mockProgram.d.ts.map +1 -1
- package/dist/scripts/deployAndSave/mockProgram.js +7 -19
- package/dist/scripts/deployAndSave/mockStableToken.d.ts +18 -0
- package/dist/scripts/deployAndSave/mockStableToken.d.ts.map +1 -0
- package/dist/scripts/deployAndSave/mockStableToken.js +36 -0
- package/dist/scripts/deployAndSave/poseidonT3.d.ts +11 -0
- package/dist/scripts/deployAndSave/poseidonT3.d.ts.map +1 -0
- package/dist/scripts/deployAndSave/poseidonT3.js +41 -0
- package/dist/scripts/deployAndSave/slashingManager.d.ts +19 -0
- package/dist/scripts/deployAndSave/slashingManager.d.ts.map +1 -0
- package/dist/scripts/deployAndSave/slashingManager.js +38 -0
- package/dist/scripts/deployEnclave.d.ts.map +1 -1
- package/dist/scripts/deployEnclave.js +109 -23
- package/dist/scripts/deployMocks.d.ts +0 -1
- package/dist/scripts/deployMocks.d.ts.map +1 -1
- package/dist/scripts/deployMocks.js +3 -6
- package/dist/scripts/index.d.ts +7 -2
- package/dist/scripts/index.d.ts.map +1 -1
- package/dist/scripts/index.js +7 -2
- package/dist/scripts/proxy.d.ts +22 -0
- package/dist/scripts/proxy.d.ts.map +1 -0
- package/dist/scripts/proxy.js +36 -0
- package/dist/scripts/runVerification.d.ts +2 -0
- package/dist/scripts/runVerification.d.ts.map +1 -0
- package/dist/scripts/runVerification.js +16 -0
- package/dist/scripts/upgrade/bondingRegistry.d.ts +6 -0
- package/dist/scripts/upgrade/bondingRegistry.d.ts.map +1 -0
- package/dist/scripts/upgrade/bondingRegistry.js +49 -0
- package/dist/scripts/upgrade/ciphernodeRegistryOwnable.d.ts +6 -0
- package/dist/scripts/upgrade/ciphernodeRegistryOwnable.d.ts.map +1 -0
- package/dist/scripts/upgrade/ciphernodeRegistryOwnable.js +52 -0
- package/dist/scripts/upgrade/enclave.d.ts +6 -0
- package/dist/scripts/upgrade/enclave.d.ts.map +1 -0
- package/dist/scripts/upgrade/enclave.js +49 -0
- package/dist/scripts/utils.d.ts +51 -2
- package/dist/scripts/utils.d.ts.map +1 -1
- package/dist/scripts/utils.js +67 -4
- package/dist/scripts/verify.d.ts +6 -0
- package/dist/scripts/verify.d.ts.map +1 -0
- package/dist/scripts/verify.js +142 -0
- package/dist/tasks/ciphernode.d.ts +2 -0
- package/dist/tasks/ciphernode.d.ts.map +1 -1
- package/dist/tasks/ciphernode.js +290 -19
- package/dist/tasks/enclave.d.ts.map +1 -1
- package/dist/tasks/enclave.js +76 -31
- package/dist/test/Enclave.spec.js +377 -370
- package/dist/test/Registry/BondingRegistry.spec.d.ts +2 -0
- package/dist/test/Registry/BondingRegistry.spec.d.ts.map +1 -0
- package/dist/test/Registry/BondingRegistry.spec.js +684 -0
- package/dist/test/Registry/CiphernodeRegistryOwnable.spec.d.ts.map +1 -0
- package/dist/test/Registry/CiphernodeRegistryOwnable.spec.js +374 -0
- package/dist/test/Slashing/SlashingManager.spec.d.ts +2 -0
- package/dist/test/Slashing/SlashingManager.spec.d.ts.map +1 -0
- package/dist/test/Slashing/SlashingManager.spec.js +672 -0
- package/dist/types/@openzeppelin/contracts/index.d.ts +3 -0
- package/dist/types/@openzeppelin/contracts/index.d.ts.map +1 -0
- package/dist/types/@openzeppelin/contracts/proxy/index.d.ts +3 -0
- package/dist/types/@openzeppelin/contracts/proxy/index.d.ts.map +1 -0
- package/dist/types/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.d.ts +97 -0
- package/dist/types/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.d.ts.map +1 -0
- package/dist/types/{contracts/registry/NaiveRegistryFilter.js → @openzeppelin/contracts/proxy/transparent/ProxyAdmin.js} +0 -4
- package/dist/types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.d.ts +81 -0
- package/dist/types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.d.ts.map +1 -0
- package/dist/types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.js +12 -0
- package/dist/types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.d.ts +52 -0
- package/dist/types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.d.ts.map +1 -0
- package/dist/types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.js +8 -0
- package/dist/types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts +3 -0
- package/dist/types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts.map +1 -0
- package/dist/types/@openzeppelin/contracts/proxy/transparent/index.d.ts +4 -0
- package/dist/types/@openzeppelin/contracts/proxy/transparent/index.d.ts.map +1 -0
- package/dist/types/@openzeppelin/index.d.ts +3 -0
- package/dist/types/@openzeppelin/index.d.ts.map +1 -0
- package/dist/types/contracts/Enclave.d.ts +126 -53
- package/dist/types/contracts/Enclave.d.ts.map +1 -1
- package/dist/types/contracts/Enclave.js +12 -0
- package/dist/types/contracts/index.d.ts +6 -0
- package/dist/types/contracts/index.d.ts.map +1 -1
- package/dist/types/contracts/interfaces/IBondingRegistry.d.ts +622 -0
- package/dist/types/contracts/interfaces/IBondingRegistry.d.ts.map +1 -0
- package/dist/types/contracts/interfaces/IBondingRegistry.js +24 -0
- package/dist/types/contracts/interfaces/ICiphernodeRegistry.d.ts +245 -15
- package/dist/types/contracts/interfaces/ICiphernodeRegistry.d.ts.map +1 -1
- package/dist/types/contracts/interfaces/ICiphernodeRegistry.js +16 -0
- package/dist/types/contracts/interfaces/IE3Program.d.ts +20 -10
- package/dist/types/contracts/interfaces/IE3Program.d.ts.map +1 -1
- package/dist/types/contracts/interfaces/IEnclave.d.ts +149 -20
- package/dist/types/contracts/interfaces/IEnclave.d.ts.map +1 -1
- package/dist/types/contracts/interfaces/IEnclave.js +12 -0
- package/dist/types/contracts/interfaces/{IRegistryFilter.d.ts → ISlashVerifier.d.ts} +16 -16
- package/dist/types/contracts/interfaces/ISlashVerifier.d.ts.map +1 -0
- package/dist/types/contracts/interfaces/ISlashVerifier.js +1 -0
- package/dist/types/contracts/interfaces/ISlashingManager.d.ts +384 -0
- package/dist/types/contracts/interfaces/ISlashingManager.d.ts.map +1 -0
- package/dist/types/contracts/interfaces/ISlashingManager.js +24 -0
- package/dist/types/contracts/interfaces/index.d.ts +3 -2
- package/dist/types/contracts/interfaces/index.d.ts.map +1 -1
- package/dist/types/contracts/lib/ExitQueueLib.d.ts +73 -0
- package/dist/types/contracts/lib/ExitQueueLib.d.ts.map +1 -0
- package/dist/types/contracts/lib/ExitQueueLib.js +12 -0
- package/dist/types/contracts/lib/index.d.ts +2 -0
- package/dist/types/contracts/lib/index.d.ts.map +1 -0
- package/dist/types/contracts/lib/index.js +1 -0
- package/dist/types/contracts/registry/BondingRegistry.d.ts +821 -0
- package/dist/types/contracts/registry/BondingRegistry.d.ts.map +1 -0
- package/dist/types/contracts/registry/BondingRegistry.js +44 -0
- package/dist/types/contracts/registry/CiphernodeRegistryOwnable.d.ts +194 -34
- package/dist/types/contracts/registry/CiphernodeRegistryOwnable.d.ts.map +1 -1
- package/dist/types/contracts/registry/CiphernodeRegistryOwnable.js +20 -0
- package/dist/types/contracts/registry/index.d.ts +1 -1
- package/dist/types/contracts/registry/index.d.ts.map +1 -1
- package/dist/types/contracts/slashing/SlashingManager.d.ts +592 -0
- package/dist/types/contracts/slashing/SlashingManager.d.ts.map +1 -0
- package/dist/types/contracts/slashing/SlashingManager.js +36 -0
- package/dist/types/contracts/slashing/index.d.ts +2 -0
- package/dist/types/contracts/slashing/index.d.ts.map +1 -0
- package/dist/types/contracts/slashing/index.js +1 -0
- package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry.d.ts +247 -17
- package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry.d.ts.map +1 -1
- package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry.js +16 -0
- package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey.d.ts +247 -17
- package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey.d.ts.map +1 -1
- package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey.js +16 -0
- package/dist/types/contracts/test/MockE3Program.d.ts +20 -14
- package/dist/types/contracts/test/MockE3Program.d.ts.map +1 -1
- package/dist/types/contracts/test/{MockInputValidator.d.ts → MockSlashingVerifier.d.ts} +15 -15
- package/dist/types/contracts/test/MockSlashingVerifier.d.ts.map +1 -0
- package/dist/types/contracts/test/MockSlashingVerifier.js +1 -0
- package/dist/types/contracts/test/MockStableToken.sol/MockUSDC.d.ts +227 -0
- package/dist/types/contracts/test/MockStableToken.sol/MockUSDC.d.ts.map +1 -0
- package/dist/types/contracts/test/MockStableToken.sol/MockUSDC.js +12 -0
- package/dist/types/contracts/test/MockStableToken.sol/index.d.ts +2 -0
- package/dist/types/contracts/test/MockStableToken.sol/index.d.ts.map +1 -0
- package/dist/types/contracts/test/MockStableToken.sol/index.js +1 -0
- package/dist/types/contracts/test/index.d.ts +3 -3
- package/dist/types/contracts/test/index.d.ts.map +1 -1
- package/dist/types/contracts/token/EnclaveTicketToken.d.ts +574 -0
- package/dist/types/contracts/token/EnclaveTicketToken.d.ts.map +1 -0
- package/dist/types/contracts/token/EnclaveTicketToken.js +24 -0
- package/dist/types/contracts/token/EnclaveToken.d.ts +775 -0
- package/dist/types/contracts/token/EnclaveToken.d.ts.map +1 -0
- package/dist/types/contracts/token/EnclaveToken.js +48 -0
- package/dist/types/contracts/token/index.d.ts +3 -0
- package/dist/types/contracts/token/index.d.ts.map +1 -0
- package/dist/types/contracts/token/index.js +1 -0
- package/dist/types/factories/@openzeppelin/contracts/index.d.ts +2 -0
- package/dist/types/factories/@openzeppelin/contracts/index.d.ts.map +1 -0
- package/dist/types/factories/@openzeppelin/contracts/index.js +4 -0
- package/dist/types/factories/@openzeppelin/contracts/proxy/index.d.ts +2 -0
- package/dist/types/factories/@openzeppelin/contracts/proxy/index.d.ts.map +1 -0
- package/dist/types/factories/@openzeppelin/contracts/proxy/index.js +4 -0
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.d.ts +118 -0
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.d.ts.map +1 -0
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.js +157 -0
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy__factory.d.ts +57 -0
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy__factory.d.ts.map +1 -0
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy__factory.js +78 -0
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.d.ts +105 -0
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.d.ts.map +1 -0
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.js +141 -0
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts +3 -0
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts.map +1 -0
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.js +5 -0
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/index.d.ts +3 -0
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/index.d.ts.map +1 -0
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/index.js +5 -0
- package/dist/types/factories/@openzeppelin/index.d.ts +2 -0
- package/dist/types/factories/@openzeppelin/index.d.ts.map +1 -0
- package/dist/types/factories/@openzeppelin/index.js +4 -0
- package/dist/types/factories/contracts/Enclave__factory.d.ts +190 -104
- package/dist/types/factories/contracts/Enclave__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/Enclave__factory.js +241 -134
- package/dist/types/factories/contracts/index.d.ts +3 -0
- package/dist/types/factories/contracts/index.d.ts.map +1 -1
- package/dist/types/factories/contracts/index.js +3 -0
- package/dist/types/factories/contracts/interfaces/IBondingRegistry__factory.d.ts +678 -0
- package/dist/types/factories/contracts/interfaces/IBondingRegistry__factory.d.ts.map +1 -0
- package/dist/types/factories/contracts/interfaces/IBondingRegistry__factory.js +882 -0
- package/dist/types/factories/contracts/interfaces/ICiphernodeRegistry__factory.d.ts +253 -9
- package/dist/types/factories/contracts/interfaces/ICiphernodeRegistry__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/interfaces/ICiphernodeRegistry__factory.js +325 -9
- package/dist/types/factories/contracts/interfaces/IE3Program__factory.d.ts +16 -2
- package/dist/types/factories/contracts/interfaces/IE3Program__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/interfaces/IE3Program__factory.js +20 -2
- package/dist/types/factories/contracts/interfaces/IEnclave__factory.d.ts +190 -24
- package/dist/types/factories/contracts/interfaces/IEnclave__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/interfaces/IEnclave__factory.js +246 -26
- package/dist/types/factories/contracts/interfaces/ISlashVerifier__factory.d.ts +26 -0
- package/dist/types/factories/contracts/interfaces/ISlashVerifier__factory.d.ts.map +1 -0
- package/dist/types/factories/contracts/interfaces/{IRegistryFilter__factory.js → ISlashVerifier__factory.js} +7 -7
- package/dist/types/factories/contracts/interfaces/ISlashingManager__factory.d.ts +594 -0
- package/dist/types/factories/contracts/interfaces/ISlashingManager__factory.d.ts.map +1 -0
- package/dist/types/factories/contracts/interfaces/ISlashingManager__factory.js +760 -0
- package/dist/types/factories/contracts/interfaces/index.d.ts +3 -2
- package/dist/types/factories/contracts/interfaces/index.d.ts.map +1 -1
- package/dist/types/factories/contracts/interfaces/index.js +3 -2
- package/dist/types/factories/contracts/lib/ExitQueueLib__factory.d.ts +107 -0
- package/dist/types/factories/contracts/lib/ExitQueueLib__factory.d.ts.map +1 -0
- package/dist/types/factories/contracts/lib/ExitQueueLib__factory.js +138 -0
- package/dist/types/factories/contracts/lib/index.d.ts +2 -0
- package/dist/types/factories/contracts/lib/index.d.ts.map +1 -0
- package/dist/types/factories/contracts/lib/index.js +4 -0
- package/dist/types/factories/contracts/registry/BondingRegistry__factory.d.ts +958 -0
- package/dist/types/factories/contracts/registry/BondingRegistry__factory.d.ts.map +1 -0
- package/dist/types/factories/contracts/registry/BondingRegistry__factory.js +1239 -0
- package/dist/types/factories/contracts/registry/CiphernodeRegistryOwnable__factory.d.ts +272 -40
- package/dist/types/factories/contracts/registry/CiphernodeRegistryOwnable__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/registry/CiphernodeRegistryOwnable__factory.js +343 -49
- package/dist/types/factories/contracts/registry/index.d.ts +1 -1
- package/dist/types/factories/contracts/registry/index.d.ts.map +1 -1
- package/dist/types/factories/contracts/registry/index.js +1 -1
- package/dist/types/factories/contracts/slashing/SlashingManager__factory.d.ts +879 -0
- package/dist/types/factories/contracts/slashing/SlashingManager__factory.d.ts.map +1 -0
- package/dist/types/factories/contracts/slashing/SlashingManager__factory.js +1129 -0
- package/dist/types/factories/contracts/slashing/index.d.ts +2 -0
- package/dist/types/factories/contracts/slashing/index.d.ts.map +1 -0
- package/dist/types/factories/contracts/slashing/index.js +4 -0
- package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey__factory.d.ts +254 -10
- package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey__factory.js +326 -10
- package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry__factory.d.ts +254 -10
- package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry__factory.js +326 -10
- package/dist/types/factories/contracts/test/MockComputeProvider__factory.d.ts +2 -2
- package/dist/types/factories/contracts/test/MockComputeProvider__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/test/MockComputeProvider__factory.js +2 -2
- package/dist/types/factories/contracts/test/MockDecryptionVerifier__factory.d.ts +1 -1
- package/dist/types/factories/contracts/test/MockDecryptionVerifier__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/test/MockDecryptionVerifier__factory.js +1 -1
- package/dist/types/factories/contracts/test/MockE3Program__factory.d.ts +23 -27
- package/dist/types/factories/contracts/test/MockE3Program__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/test/MockE3Program__factory.js +28 -34
- package/dist/types/factories/contracts/test/MockSlashingVerifier__factory.d.ts +43 -0
- package/dist/types/factories/contracts/test/MockSlashingVerifier__factory.d.ts.map +1 -0
- package/dist/types/factories/contracts/test/MockSlashingVerifier__factory.js +60 -0
- package/dist/types/factories/contracts/test/MockStableToken.sol/MockUSDC__factory.d.ts +338 -0
- package/dist/types/factories/contracts/test/MockStableToken.sol/MockUSDC__factory.d.ts.map +1 -0
- package/dist/types/factories/contracts/test/MockStableToken.sol/MockUSDC__factory.js +447 -0
- package/dist/types/factories/contracts/test/MockStableToken.sol/index.d.ts +2 -0
- package/dist/types/factories/contracts/test/MockStableToken.sol/index.d.ts.map +1 -0
- package/dist/types/factories/contracts/test/MockStableToken.sol/index.js +4 -0
- package/dist/types/factories/contracts/test/index.d.ts +2 -2
- package/dist/types/factories/contracts/test/index.d.ts.map +1 -1
- package/dist/types/factories/contracts/test/index.js +2 -2
- package/dist/types/factories/contracts/token/EnclaveTicketToken__factory.d.ts +894 -0
- package/dist/types/factories/contracts/token/EnclaveTicketToken__factory.d.ts.map +1 -0
- package/dist/types/factories/contracts/token/EnclaveTicketToken__factory.js +1175 -0
- package/dist/types/factories/contracts/token/EnclaveToken__factory.d.ts +1101 -0
- package/dist/types/factories/contracts/token/EnclaveToken__factory.d.ts.map +1 -0
- package/dist/types/factories/contracts/token/EnclaveToken__factory.js +1439 -0
- package/dist/types/factories/contracts/token/index.d.ts +3 -0
- package/dist/types/factories/contracts/token/index.d.ts.map +1 -0
- package/dist/types/factories/contracts/token/index.js +5 -0
- package/dist/types/factories/index.d.ts +1 -0
- package/dist/types/factories/index.d.ts.map +1 -1
- package/dist/types/factories/index.js +1 -0
- package/dist/types/factories/poseidon-solidity/PoseidonT3__factory.d.ts +1 -1
- package/dist/types/factories/poseidon-solidity/PoseidonT3__factory.d.ts.map +1 -1
- package/dist/types/factories/poseidon-solidity/PoseidonT3__factory.js +1 -1
- package/dist/types/index.d.ts +28 -12
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +13 -6
- package/package.json +30 -21
- package/LICENSE.md +0 -165
- package/artifacts/build-info/solc-0_8_27-9aea5e3f6e25811e781e96c22e8edaf1eb1a01c5.json +0 -130
- package/artifacts/build-info/solc-0_8_27-9aea5e3f6e25811e781e96c22e8edaf1eb1a01c5.output.json +0 -1
- package/artifacts/contracts/interfaces/IInputValidator.sol/IInputValidator.json +0 -38
- package/artifacts/contracts/interfaces/IInputValidator.sol/artifacts.d.ts +0 -27
- package/artifacts/contracts/interfaces/IRegistryFilter.sol/artifacts.d.ts +0 -27
- package/artifacts/contracts/registry/NaiveRegistryFilter.sol/NaiveRegistryFilter.json +0 -309
- package/artifacts/contracts/registry/NaiveRegistryFilter.sol/artifacts.d.ts +0 -27
- package/artifacts/contracts/test/MockInputValidator.sol/MockInputValidator.json +0 -43
- package/artifacts/contracts/test/MockInputValidator.sol/artifacts.d.ts +0 -27
- package/artifacts/contracts/test/MockRegistryFilter.sol/IRegistry.json +0 -37
- package/artifacts/contracts/test/MockRegistryFilter.sol/MockNaiveRegistryFilter.json +0 -262
- package/artifacts/contracts/test/MockRegistryFilter.sol/artifacts.d.ts +0 -43
- package/contracts/interfaces/IInputValidator.sol +0 -18
- package/contracts/interfaces/IRegistryFilter.sol +0 -13
- package/contracts/registry/NaiveRegistryFilter.sol +0 -124
- package/contracts/test/MockInputValidator.sol +0 -29
- package/contracts/test/MockRegistryFilter.sol +0 -117
- package/dist/ignition/modules/mockInputValidator.d.ts.map +0 -1
- package/dist/ignition/modules/naiveRegistryFilter.d.ts.map +0 -1
- package/dist/ignition/modules/naiveRegistryFilter.js +0 -16
- package/dist/scripts/deployAndSave/mockInputValidator.d.ts +0 -6
- package/dist/scripts/deployAndSave/mockInputValidator.d.ts.map +0 -1
- package/dist/scripts/deployAndSave/mockInputValidator.js +0 -18
- package/dist/scripts/deployAndSave/naiveRegistryFilter.d.ts +0 -11
- package/dist/scripts/deployAndSave/naiveRegistryFilter.d.ts.map +0 -1
- package/dist/scripts/deployAndSave/naiveRegistryFilter.js +0 -41
- package/dist/test/CiphernodeRegistry/CiphernodeRegistryOwnable.spec.d.ts.map +0 -1
- package/dist/test/CiphernodeRegistry/CiphernodeRegistryOwnable.spec.js +0 -279
- package/dist/test/CiphernodeRegistry/NaiveRegistryFilter.spec.d.ts +0 -2
- package/dist/test/CiphernodeRegistry/NaiveRegistryFilter.spec.d.ts.map +0 -1
- package/dist/test/CiphernodeRegistry/NaiveRegistryFilter.spec.js +0 -160
- package/dist/types/contracts/interfaces/IInputValidator.d.ts +0 -36
- package/dist/types/contracts/interfaces/IInputValidator.d.ts.map +0 -1
- package/dist/types/contracts/interfaces/IRegistryFilter.d.ts.map +0 -1
- package/dist/types/contracts/registry/NaiveRegistryFilter.d.ts +0 -187
- package/dist/types/contracts/registry/NaiveRegistryFilter.d.ts.map +0 -1
- package/dist/types/contracts/test/MockInputValidator.d.ts.map +0 -1
- package/dist/types/contracts/test/MockRegistryFilter.sol/IRegistry.d.ts +0 -38
- package/dist/types/contracts/test/MockRegistryFilter.sol/IRegistry.d.ts.map +0 -1
- package/dist/types/contracts/test/MockRegistryFilter.sol/MockNaiveRegistryFilter.d.ts +0 -163
- package/dist/types/contracts/test/MockRegistryFilter.sol/MockNaiveRegistryFilter.d.ts.map +0 -1
- package/dist/types/contracts/test/MockRegistryFilter.sol/MockNaiveRegistryFilter.js +0 -8
- package/dist/types/contracts/test/MockRegistryFilter.sol/index.d.ts +0 -3
- package/dist/types/contracts/test/MockRegistryFilter.sol/index.d.ts.map +0 -1
- package/dist/types/factories/contracts/interfaces/IInputValidator__factory.d.ts +0 -26
- package/dist/types/factories/contracts/interfaces/IInputValidator__factory.d.ts.map +0 -1
- package/dist/types/factories/contracts/interfaces/IInputValidator__factory.js +0 -39
- package/dist/types/factories/contracts/interfaces/IRegistryFilter__factory.d.ts +0 -26
- package/dist/types/factories/contracts/interfaces/IRegistryFilter__factory.d.ts.map +0 -1
- package/dist/types/factories/contracts/registry/NaiveRegistryFilter__factory.d.ts +0 -251
- package/dist/types/factories/contracts/registry/NaiveRegistryFilter__factory.d.ts.map +0 -1
- package/dist/types/factories/contracts/registry/NaiveRegistryFilter__factory.js +0 -331
- package/dist/types/factories/contracts/test/MockInputValidator__factory.d.ts +0 -47
- package/dist/types/factories/contracts/test/MockInputValidator__factory.d.ts.map +0 -1
- package/dist/types/factories/contracts/test/MockInputValidator__factory.js +0 -65
- package/dist/types/factories/contracts/test/MockRegistryFilter.sol/IRegistry__factory.d.ts +0 -26
- package/dist/types/factories/contracts/test/MockRegistryFilter.sol/IRegistry__factory.d.ts.map +0 -1
- package/dist/types/factories/contracts/test/MockRegistryFilter.sol/IRegistry__factory.js +0 -38
- package/dist/types/factories/contracts/test/MockRegistryFilter.sol/MockNaiveRegistryFilter__factory.d.ts +0 -216
- package/dist/types/factories/contracts/test/MockRegistryFilter.sol/MockNaiveRegistryFilter__factory.d.ts.map +0 -1
- package/dist/types/factories/contracts/test/MockRegistryFilter.sol/MockNaiveRegistryFilter__factory.js +0 -284
- package/dist/types/factories/contracts/test/MockRegistryFilter.sol/index.d.ts +0 -3
- package/dist/types/factories/contracts/test/MockRegistryFilter.sol/index.d.ts.map +0 -1
- package/dist/types/factories/contracts/test/MockRegistryFilter.sol/index.js +0 -5
- /package/dist/test/{CiphernodeRegistry → Registry}/CiphernodeRegistryOwnable.spec.d.ts +0 -0
- /package/dist/types/{contracts/test/MockRegistryFilter.sol → @openzeppelin/contracts}/index.js +0 -0
- /package/dist/types/{contracts/interfaces/IInputValidator.js → @openzeppelin/contracts/proxy/index.js} +0 -0
- /package/dist/types/{contracts/interfaces/IRegistryFilter.js → @openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.js} +0 -0
- /package/dist/types/{contracts/test/MockInputValidator.js → @openzeppelin/contracts/proxy/transparent/index.js} +0 -0
- /package/dist/types/{contracts/test/MockRegistryFilter.sol/IRegistry.js → @openzeppelin/index.js} +0 -0
|
@@ -1,42 +1,99 @@
|
|
|
1
|
-
import CiphernodeRegistryModule from "../../ignition/modules/ciphernodeRegistry";
|
|
2
1
|
import { CiphernodeRegistryOwnable__factory as CiphernodeRegistryOwnableFactory, } from "../../types";
|
|
2
|
+
import { getProxyAdmin, verifyProxyAdminOwner } from "../proxy";
|
|
3
3
|
import { readDeploymentArgs, storeDeploymentArgs } from "../utils";
|
|
4
4
|
/**
|
|
5
5
|
* Deploys the CiphernodeRegistryOwnable contract and saves the deployment arguments
|
|
6
6
|
* @param param0 - The deployment arguments
|
|
7
7
|
* @returns The deployed CiphernodeRegistryOwnable contract
|
|
8
8
|
*/
|
|
9
|
-
export const deployAndSaveCiphernodeRegistryOwnable = async ({ enclaveAddress, owner, hre, }) => {
|
|
10
|
-
const {
|
|
9
|
+
export const deployAndSaveCiphernodeRegistryOwnable = async ({ enclaveAddress, owner, submissionWindow, poseidonT3Address, hre, }) => {
|
|
10
|
+
const { ethers } = await hre.network.connect();
|
|
11
11
|
const [signer] = await ethers.getSigners();
|
|
12
12
|
const chain = (await signer.provider?.getNetwork())?.name ?? "localhost";
|
|
13
|
-
const preDeployedArgs = readDeploymentArgs("
|
|
13
|
+
const preDeployedArgs = readDeploymentArgs("CiphernodeRegistryOwnable", chain);
|
|
14
14
|
if (!enclaveAddress ||
|
|
15
15
|
!owner ||
|
|
16
|
+
!submissionWindow ||
|
|
16
17
|
(preDeployedArgs?.constructorArgs?.enclaveAddress === enclaveAddress &&
|
|
17
|
-
preDeployedArgs?.constructorArgs?.owner === owner
|
|
18
|
+
preDeployedArgs?.constructorArgs?.owner === owner &&
|
|
19
|
+
preDeployedArgs?.constructorArgs?.submissionWindow ===
|
|
20
|
+
submissionWindow.toString())) {
|
|
18
21
|
if (!preDeployedArgs?.address) {
|
|
19
22
|
throw new Error("CiphernodeRegistry address not found, it must be deployed first");
|
|
20
23
|
}
|
|
21
24
|
const ciphernodeRegistryContract = CiphernodeRegistryOwnableFactory.connect(preDeployedArgs.address, signer);
|
|
22
25
|
return { ciphernodeRegistry: ciphernodeRegistryContract };
|
|
23
26
|
}
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
});
|
|
32
|
-
await ciphernodeRegistry.cipherNodeRegistry.waitForDeployment();
|
|
27
|
+
const ciphernodeRegistryFactory = await ethers.getContractFactory(CiphernodeRegistryOwnableFactory.abi, CiphernodeRegistryOwnableFactory.linkBytecode({
|
|
28
|
+
"npm/poseidon-solidity@0.0.5/PoseidonT3.sol:PoseidonT3": poseidonT3Address,
|
|
29
|
+
}), signer);
|
|
30
|
+
const ciphernodeRegistry = await ciphernodeRegistryFactory.deploy();
|
|
31
|
+
await ciphernodeRegistry.waitForDeployment();
|
|
33
32
|
const blockNumber = await ethers.provider.getBlockNumber();
|
|
34
|
-
const ciphernodeRegistryAddress = await ciphernodeRegistry.
|
|
33
|
+
const ciphernodeRegistryAddress = await ciphernodeRegistry.getAddress();
|
|
34
|
+
const initData = ciphernodeRegistryFactory.interface.encodeFunctionData("initialize", [owner, enclaveAddress, submissionWindow]);
|
|
35
|
+
const ProxyCF = await ethers.getContractFactory("TransparentUpgradeableProxy");
|
|
36
|
+
const proxy = await ProxyCF.deploy(ciphernodeRegistryAddress, owner, initData);
|
|
37
|
+
await proxy.waitForDeployment();
|
|
38
|
+
const proxyAddress = await proxy.getAddress();
|
|
39
|
+
const proxyAdminAddress = await getProxyAdmin(ethers.provider, proxyAddress);
|
|
35
40
|
storeDeploymentArgs({
|
|
36
|
-
constructorArgs: {
|
|
41
|
+
constructorArgs: {
|
|
42
|
+
owner,
|
|
43
|
+
enclaveAddress: enclaveAddress,
|
|
44
|
+
submissionWindow: submissionWindow.toString(),
|
|
45
|
+
},
|
|
46
|
+
proxyRecords: {
|
|
47
|
+
initData,
|
|
48
|
+
initialOwner: owner,
|
|
49
|
+
proxyAddress,
|
|
50
|
+
proxyAdminAddress,
|
|
51
|
+
implementationAddress: ciphernodeRegistryAddress,
|
|
52
|
+
},
|
|
37
53
|
blockNumber,
|
|
38
|
-
address:
|
|
39
|
-
}, "
|
|
40
|
-
const ciphernodeRegistryContract = CiphernodeRegistryOwnableFactory.connect(
|
|
54
|
+
address: proxyAddress,
|
|
55
|
+
}, "CiphernodeRegistryOwnable", chain);
|
|
56
|
+
const ciphernodeRegistryContract = CiphernodeRegistryOwnableFactory.connect(proxyAddress, signer);
|
|
41
57
|
return { ciphernodeRegistry: ciphernodeRegistryContract };
|
|
42
58
|
};
|
|
59
|
+
export const upgradeAndSaveCiphernodeRegistryOwnable = async ({ poseidonT3Address, ownerAddress, hre, }) => {
|
|
60
|
+
const { ethers } = await hre.network.connect();
|
|
61
|
+
const [signer] = await ethers.getSigners();
|
|
62
|
+
const chain = hre.globalOptions.network;
|
|
63
|
+
const preDeployedArgs = readDeploymentArgs("CiphernodeRegistryOwnable", chain);
|
|
64
|
+
if (!preDeployedArgs?.address) {
|
|
65
|
+
throw new Error("CiphernodeRegistryOwnable proxy not found. Deploy first before upgrading.");
|
|
66
|
+
}
|
|
67
|
+
const proxyAddress = preDeployedArgs.address;
|
|
68
|
+
const autoProxyAdminAddress = await getProxyAdmin(ethers.provider, proxyAddress);
|
|
69
|
+
console.log("Auto-deployed ProxyAdmin address:", autoProxyAdminAddress);
|
|
70
|
+
const ciphernodeRegistryFactory = await ethers.getContractFactory(CiphernodeRegistryOwnableFactory.abi, CiphernodeRegistryOwnableFactory.linkBytecode({
|
|
71
|
+
"npm/poseidon-solidity@0.0.5/PoseidonT3.sol:PoseidonT3": poseidonT3Address,
|
|
72
|
+
}), signer);
|
|
73
|
+
const newImplementation = await ciphernodeRegistryFactory.deploy();
|
|
74
|
+
await newImplementation.waitForDeployment();
|
|
75
|
+
const newImplementationAddress = await newImplementation.getAddress();
|
|
76
|
+
console.log("New Implementation Address:", newImplementationAddress);
|
|
77
|
+
const proxyAdmin = await ethers.getContractAt("ProxyAdmin", autoProxyAdminAddress, signer);
|
|
78
|
+
await verifyProxyAdminOwner(proxyAdmin, ownerAddress);
|
|
79
|
+
// TODO: Add init data if needed
|
|
80
|
+
const initData = "0x";
|
|
81
|
+
const upgradeTx = await proxyAdmin.upgradeAndCall(proxyAddress, newImplementationAddress, initData);
|
|
82
|
+
await upgradeTx.wait();
|
|
83
|
+
const existingProxyRecords = preDeployedArgs.proxyRecords
|
|
84
|
+
? Object.fromEntries(Object.entries(preDeployedArgs.proxyRecords).filter(([, value]) => value !== undefined))
|
|
85
|
+
: {};
|
|
86
|
+
const proxyRecords = {
|
|
87
|
+
...existingProxyRecords,
|
|
88
|
+
implementationAddress: newImplementationAddress,
|
|
89
|
+
};
|
|
90
|
+
if (initData !== "0x") {
|
|
91
|
+
proxyRecords.initData = initData;
|
|
92
|
+
}
|
|
93
|
+
storeDeploymentArgs({ ...preDeployedArgs, proxyRecords }, "CiphernodeRegistryOwnable", chain);
|
|
94
|
+
const ciphernodeRegistryContract = CiphernodeRegistryOwnableFactory.connect(proxyAddress, signer);
|
|
95
|
+
return {
|
|
96
|
+
ciphernodeRegistry: ciphernodeRegistryContract,
|
|
97
|
+
implementationAddress: newImplementationAddress,
|
|
98
|
+
};
|
|
99
|
+
};
|
|
@@ -4,10 +4,12 @@ import { Enclave } from "../../types";
|
|
|
4
4
|
* The arguments for the deployAndSaveEnclave function
|
|
5
5
|
*/
|
|
6
6
|
export interface EnclaveArgs {
|
|
7
|
-
params?: string;
|
|
7
|
+
params?: string[];
|
|
8
8
|
owner?: string;
|
|
9
9
|
maxDuration?: string;
|
|
10
10
|
registry?: string;
|
|
11
|
+
bondingRegistry?: string;
|
|
12
|
+
feeToken?: string;
|
|
11
13
|
hre: HardhatRuntimeEnvironment;
|
|
12
14
|
}
|
|
13
15
|
/**
|
|
@@ -15,7 +17,19 @@ export interface EnclaveArgs {
|
|
|
15
17
|
* @param param0 - The deployment arguments
|
|
16
18
|
* @returns The deployed Enclave contract
|
|
17
19
|
*/
|
|
18
|
-
export declare const deployAndSaveEnclave: ({ params, owner, maxDuration, registry, hre, }: EnclaveArgs) => Promise<{
|
|
20
|
+
export declare const deployAndSaveEnclave: ({ params, owner, maxDuration, registry, bondingRegistry, feeToken, hre, }: EnclaveArgs) => Promise<{
|
|
19
21
|
enclave: Enclave;
|
|
20
22
|
}>;
|
|
23
|
+
/**
|
|
24
|
+
* Upgrades the Enclave implementation while keeping the same proxy address
|
|
25
|
+
* @param param0 - The upgrade arguments
|
|
26
|
+
* @returns The upgraded Enclave contract (same proxy address)
|
|
27
|
+
*/
|
|
28
|
+
export declare const upgradeAndSaveEnclave: ({ ownerAddress, hre, }: {
|
|
29
|
+
ownerAddress: string;
|
|
30
|
+
hre: HardhatRuntimeEnvironment;
|
|
31
|
+
}) => Promise<{
|
|
32
|
+
enclave: Enclave;
|
|
33
|
+
implementationAddress: string;
|
|
34
|
+
}>;
|
|
21
35
|
//# sourceMappingURL=enclave.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enclave.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/enclave.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"enclave.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/enclave.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAsC,MAAM,aAAa,CAAC;AAQ1E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,yBAAyB,CAAC;CAChC;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAU,2EAQxC,WAAW,KAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAuF5C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAU,wBAGzC;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,yBAAyB,CAAC;CAChC,KAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,qBAAqB,EAAE,MAAM,CAAA;CAAE,CAiE9D,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import EnclaveModule from "../../ignition/modules/enclave";
|
|
2
1
|
import { Enclave__factory as EnclaveFactory } from "../../types";
|
|
3
|
-
import {
|
|
2
|
+
import { getProxyAdmin, verifyProxyAdminOwner } from "../proxy";
|
|
3
|
+
import { areArraysEqual, readDeploymentArgs, storeDeploymentArgs, } from "../utils";
|
|
4
4
|
/**
|
|
5
5
|
* Deploys the Enclave contract and saves the deployment arguments
|
|
6
6
|
* @param param0 - The deployment arguments
|
|
7
7
|
* @returns The deployed Enclave contract
|
|
8
8
|
*/
|
|
9
|
-
export const deployAndSaveEnclave = async ({ params, owner, maxDuration, registry, hre, }) => {
|
|
10
|
-
const {
|
|
9
|
+
export const deployAndSaveEnclave = async ({ params, owner, maxDuration, registry, bondingRegistry, feeToken, hre, }) => {
|
|
10
|
+
const { ethers } = await hre.network.connect();
|
|
11
11
|
const [signer] = await ethers.getSigners();
|
|
12
12
|
const chain = hre.globalOptions.network;
|
|
13
13
|
const preDeployedArgs = readDeploymentArgs("Enclave", chain);
|
|
@@ -15,34 +15,101 @@ export const deployAndSaveEnclave = async ({ params, owner, maxDuration, registr
|
|
|
15
15
|
!owner ||
|
|
16
16
|
!maxDuration ||
|
|
17
17
|
!registry ||
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
!bondingRegistry ||
|
|
19
|
+
!feeToken ||
|
|
20
|
+
(preDeployedArgs?.constructorArgs?.owner === owner &&
|
|
20
21
|
preDeployedArgs?.constructorArgs?.maxDuration === maxDuration &&
|
|
21
|
-
preDeployedArgs?.constructorArgs?.registry === registry
|
|
22
|
+
preDeployedArgs?.constructorArgs?.registry === registry &&
|
|
23
|
+
preDeployedArgs?.constructorArgs?.bondingRegistry === bondingRegistry &&
|
|
24
|
+
preDeployedArgs?.constructorArgs?.feeToken === feeToken &&
|
|
25
|
+
areArraysEqual(preDeployedArgs?.constructorArgs?.params, params))) {
|
|
22
26
|
if (!preDeployedArgs?.address) {
|
|
23
27
|
throw new Error("Enclave address not found, it must be deployed first");
|
|
24
28
|
}
|
|
25
29
|
const enclaveContract = EnclaveFactory.connect(preDeployedArgs.address, signer);
|
|
26
30
|
return { enclave: enclaveContract };
|
|
27
31
|
}
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
params,
|
|
32
|
-
owner,
|
|
33
|
-
maxDuration,
|
|
34
|
-
registry,
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
});
|
|
38
|
-
await enclave.enclave.waitForDeployment();
|
|
39
|
-
const enclaveAddress = await enclave.enclave.getAddress();
|
|
32
|
+
const enclaveFactory = await ethers.getContractFactory("Enclave", signer);
|
|
33
|
+
const enclave = await enclaveFactory.deploy();
|
|
34
|
+
await enclave.waitForDeployment();
|
|
40
35
|
const blockNumber = await ethers.provider.getBlockNumber();
|
|
36
|
+
const enclaveAddress = await enclave.getAddress();
|
|
37
|
+
const initData = enclaveFactory.interface.encodeFunctionData("initialize", [
|
|
38
|
+
owner,
|
|
39
|
+
registry,
|
|
40
|
+
bondingRegistry,
|
|
41
|
+
feeToken,
|
|
42
|
+
maxDuration,
|
|
43
|
+
params,
|
|
44
|
+
]);
|
|
45
|
+
const ProxyCF = await ethers.getContractFactory("TransparentUpgradeableProxy");
|
|
46
|
+
const proxy = await ProxyCF.deploy(enclaveAddress, owner, initData);
|
|
47
|
+
await proxy.waitForDeployment();
|
|
48
|
+
const proxyAddress = await proxy.getAddress();
|
|
49
|
+
const proxyAdminAddress = await getProxyAdmin(ethers.provider, proxyAddress);
|
|
41
50
|
storeDeploymentArgs({
|
|
42
|
-
constructorArgs: {
|
|
51
|
+
constructorArgs: {
|
|
52
|
+
owner,
|
|
53
|
+
registry,
|
|
54
|
+
bondingRegistry,
|
|
55
|
+
feeToken,
|
|
56
|
+
maxDuration,
|
|
57
|
+
params,
|
|
58
|
+
},
|
|
59
|
+
proxyRecords: {
|
|
60
|
+
initData,
|
|
61
|
+
initialOwner: owner,
|
|
62
|
+
proxyAddress,
|
|
63
|
+
proxyAdminAddress,
|
|
64
|
+
implementationAddress: enclaveAddress,
|
|
65
|
+
},
|
|
43
66
|
blockNumber,
|
|
44
|
-
address:
|
|
67
|
+
address: proxyAddress,
|
|
45
68
|
}, "Enclave", chain);
|
|
46
|
-
const enclaveContract = EnclaveFactory.connect(
|
|
69
|
+
const enclaveContract = EnclaveFactory.connect(proxyAddress, signer);
|
|
47
70
|
return { enclave: enclaveContract };
|
|
48
71
|
};
|
|
72
|
+
/**
|
|
73
|
+
* Upgrades the Enclave implementation while keeping the same proxy address
|
|
74
|
+
* @param param0 - The upgrade arguments
|
|
75
|
+
* @returns The upgraded Enclave contract (same proxy address)
|
|
76
|
+
*/
|
|
77
|
+
export const upgradeAndSaveEnclave = async ({ ownerAddress, hre, }) => {
|
|
78
|
+
const { ethers } = await hre.network.connect();
|
|
79
|
+
const [signer] = await ethers.getSigners();
|
|
80
|
+
const chain = hre.globalOptions.network;
|
|
81
|
+
const preDeployedArgs = readDeploymentArgs("Enclave", chain);
|
|
82
|
+
if (!preDeployedArgs?.address) {
|
|
83
|
+
throw new Error("Enclave proxy not found. Deploy first before upgrading.");
|
|
84
|
+
}
|
|
85
|
+
const proxyAddress = preDeployedArgs.address;
|
|
86
|
+
const autoProxyAdminAddress = await getProxyAdmin(ethers.provider, proxyAddress);
|
|
87
|
+
console.log("Auto-deployed ProxyAdmin address:", autoProxyAdminAddress);
|
|
88
|
+
const enclaveFactory = await ethers.getContractFactory("Enclave", signer);
|
|
89
|
+
const newImplementation = await enclaveFactory.deploy();
|
|
90
|
+
await newImplementation.waitForDeployment();
|
|
91
|
+
const newImplementationAddress = await newImplementation.getAddress();
|
|
92
|
+
console.log("New Implementation Address:", newImplementationAddress);
|
|
93
|
+
const proxyAdmin = await ethers.getContractAt("ProxyAdmin", autoProxyAdminAddress, signer);
|
|
94
|
+
await verifyProxyAdminOwner(proxyAdmin, ownerAddress);
|
|
95
|
+
// TODO: Add init data if needed
|
|
96
|
+
const initData = "0x";
|
|
97
|
+
const upgradeTx = await proxyAdmin.upgradeAndCall(proxyAddress, newImplementationAddress, initData);
|
|
98
|
+
await upgradeTx.wait();
|
|
99
|
+
const existingProxyRecords = preDeployedArgs.proxyRecords
|
|
100
|
+
? Object.fromEntries(Object.entries(preDeployedArgs.proxyRecords).filter(([, value]) => value !== undefined))
|
|
101
|
+
: {};
|
|
102
|
+
const proxyRecords = {
|
|
103
|
+
...existingProxyRecords,
|
|
104
|
+
implementationAddress: newImplementationAddress,
|
|
105
|
+
};
|
|
106
|
+
if (initData !== "0x") {
|
|
107
|
+
proxyRecords.initData = initData;
|
|
108
|
+
}
|
|
109
|
+
storeDeploymentArgs({ ...preDeployedArgs, proxyRecords }, "Enclave", chain);
|
|
110
|
+
const enclaveContract = EnclaveFactory.connect(proxyAddress, signer);
|
|
111
|
+
return {
|
|
112
|
+
enclave: enclaveContract,
|
|
113
|
+
implementationAddress: newImplementationAddress,
|
|
114
|
+
};
|
|
115
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { HardhatRuntimeEnvironment } from "hardhat/types/hre";
|
|
2
|
+
import { EnclaveTicketToken } from "../../types";
|
|
3
|
+
/**
|
|
4
|
+
* The arguments for the deployAndSaveEnclaveTicketToken function
|
|
5
|
+
*/
|
|
6
|
+
export interface EnclaveTicketTokenArgs {
|
|
7
|
+
baseToken?: string;
|
|
8
|
+
registry?: string;
|
|
9
|
+
owner?: string;
|
|
10
|
+
hre: HardhatRuntimeEnvironment;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Deploys the EnclaveTicketToken contract and saves the deployment arguments
|
|
14
|
+
* @param param0 - The deployment arguments
|
|
15
|
+
* @returns The deployed EnclaveTicketToken contract
|
|
16
|
+
*/
|
|
17
|
+
export declare const deployAndSaveEnclaveTicketToken: ({ baseToken, registry, owner, hre, }: EnclaveTicketTokenArgs) => Promise<{
|
|
18
|
+
enclaveTicketToken: EnclaveTicketToken;
|
|
19
|
+
}>;
|
|
20
|
+
//# sourceMappingURL=enclaveTicketToken.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enclaveTicketToken.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/enclaveTicketToken.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EACL,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,yBAAyB,CAAC;CAChC;AAED;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,GAAU,sCAKnD,sBAAsB,KAAG,OAAO,CAAC;IAClC,kBAAkB,EAAE,kBAAkB,CAAC;CACxC,CA6DA,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { EnclaveTicketToken__factory as EnclaveTicketTokenFactory, } from "../../types";
|
|
2
|
+
import { readDeploymentArgs, storeDeploymentArgs } from "../utils";
|
|
3
|
+
/**
|
|
4
|
+
* Deploys the EnclaveTicketToken contract and saves the deployment arguments
|
|
5
|
+
* @param param0 - The deployment arguments
|
|
6
|
+
* @returns The deployed EnclaveTicketToken contract
|
|
7
|
+
*/
|
|
8
|
+
export const deployAndSaveEnclaveTicketToken = async ({ baseToken, registry, owner, hre, }) => {
|
|
9
|
+
const { ethers } = await hre.network.connect();
|
|
10
|
+
const [signer] = await ethers.getSigners();
|
|
11
|
+
const chain = (await signer.provider?.getNetwork())?.name ?? "localhost";
|
|
12
|
+
const preDeployedArgs = readDeploymentArgs("EnclaveTicketToken", chain);
|
|
13
|
+
if (!baseToken ||
|
|
14
|
+
!registry ||
|
|
15
|
+
!owner ||
|
|
16
|
+
(preDeployedArgs?.constructorArgs?.baseToken === baseToken &&
|
|
17
|
+
preDeployedArgs?.constructorArgs?.registry === registry &&
|
|
18
|
+
preDeployedArgs?.constructorArgs?.owner === owner)) {
|
|
19
|
+
if (!preDeployedArgs?.address) {
|
|
20
|
+
throw new Error("EnclaveTicketToken address not found, it must be deployed first");
|
|
21
|
+
}
|
|
22
|
+
const enclaveTicketTokenContract = EnclaveTicketTokenFactory.connect(preDeployedArgs.address, signer);
|
|
23
|
+
return { enclaveTicketToken: enclaveTicketTokenContract };
|
|
24
|
+
}
|
|
25
|
+
const enclaveTicketTokenFactory = await ethers.getContractFactory("EnclaveTicketToken");
|
|
26
|
+
const enclaveTicketToken = await enclaveTicketTokenFactory.deploy(baseToken, registry, owner);
|
|
27
|
+
await enclaveTicketToken.waitForDeployment();
|
|
28
|
+
const blockNumber = await ethers.provider.getBlockNumber();
|
|
29
|
+
const enclaveTicketTokenAddress = await enclaveTicketToken.getAddress();
|
|
30
|
+
storeDeploymentArgs({
|
|
31
|
+
constructorArgs: {
|
|
32
|
+
baseToken,
|
|
33
|
+
registry,
|
|
34
|
+
owner,
|
|
35
|
+
},
|
|
36
|
+
blockNumber,
|
|
37
|
+
address: enclaveTicketTokenAddress,
|
|
38
|
+
}, "EnclaveTicketToken", chain);
|
|
39
|
+
const enclaveTicketTokenContract = EnclaveTicketTokenFactory.connect(enclaveTicketTokenAddress, signer);
|
|
40
|
+
return { enclaveTicketToken: enclaveTicketTokenContract };
|
|
41
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { HardhatRuntimeEnvironment } from "hardhat/types/hre";
|
|
2
|
+
import { EnclaveToken } from "../../types";
|
|
3
|
+
/**
|
|
4
|
+
* The arguments for the deployAndSaveEnclaveToken function
|
|
5
|
+
*/
|
|
6
|
+
export interface EnclaveTokenArgs {
|
|
7
|
+
owner?: string;
|
|
8
|
+
hre: HardhatRuntimeEnvironment;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Deploys the EnclaveToken contract and saves the deployment arguments
|
|
12
|
+
* @param param0 - The deployment arguments
|
|
13
|
+
* @returns The deployed EnclaveToken contract
|
|
14
|
+
*/
|
|
15
|
+
export declare const deployAndSaveEnclaveToken: ({ owner, hre, }: EnclaveTokenArgs) => Promise<{
|
|
16
|
+
enclaveToken: EnclaveToken;
|
|
17
|
+
}>;
|
|
18
|
+
//# sourceMappingURL=enclaveToken.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enclaveToken.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/enclaveToken.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EACL,YAAY,EAEb,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,yBAAyB,CAAC;CAChC;AA2BD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAU,iBAG7C,gBAAgB,KAAG,OAAO,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC;CAC5B,CAoDA,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { EnclaveToken__factory as EnclaveTokenFactory, } from "../../types";
|
|
2
|
+
import { readDeploymentArgs, storeDeploymentArgs } from "../utils";
|
|
3
|
+
/**
|
|
4
|
+
* Disables transfer restrictions for local development
|
|
5
|
+
*/
|
|
6
|
+
async function disableTransferRestrictionsForLocal(contract, chain) {
|
|
7
|
+
if (chain !== "localhost" && chain !== "hardhat") {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
console.log("Disabling transfer restrictions for chain", chain);
|
|
11
|
+
console.log("Contract address", await contract.getAddress());
|
|
12
|
+
try {
|
|
13
|
+
const isRestricted = await contract.transfersRestricted();
|
|
14
|
+
if (isRestricted) {
|
|
15
|
+
const tx = await contract.setTransferRestriction(false);
|
|
16
|
+
await tx.wait();
|
|
17
|
+
console.log("Transfer restrictions disabled for local development");
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
console.warn("Failed to disable transfer restrictions:", error);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Deploys the EnclaveToken contract and saves the deployment arguments
|
|
26
|
+
* @param param0 - The deployment arguments
|
|
27
|
+
* @returns The deployed EnclaveToken contract
|
|
28
|
+
*/
|
|
29
|
+
export const deployAndSaveEnclaveToken = async ({ owner, hre, }) => {
|
|
30
|
+
const { ethers } = await hre.network.connect();
|
|
31
|
+
const [signer] = await ethers.getSigners();
|
|
32
|
+
const chain = (await signer.provider?.getNetwork())?.name ?? "localhost";
|
|
33
|
+
const preDeployedArgs = readDeploymentArgs("EnclaveToken", chain);
|
|
34
|
+
if (!owner || preDeployedArgs?.constructorArgs?.owner === owner) {
|
|
35
|
+
if (!preDeployedArgs?.address) {
|
|
36
|
+
throw new Error("EnclaveToken address not found, it must be deployed first");
|
|
37
|
+
}
|
|
38
|
+
const enclaveTokenContract = EnclaveTokenFactory.connect(preDeployedArgs.address, signer);
|
|
39
|
+
await disableTransferRestrictionsForLocal(enclaveTokenContract, chain);
|
|
40
|
+
return { enclaveToken: enclaveTokenContract };
|
|
41
|
+
}
|
|
42
|
+
const enclaveTokenFactory = await ethers.getContractFactory("EnclaveToken");
|
|
43
|
+
const enclaveToken = await enclaveTokenFactory.deploy(owner);
|
|
44
|
+
await enclaveToken.waitForDeployment();
|
|
45
|
+
const blockNumber = await ethers.provider.getBlockNumber();
|
|
46
|
+
const enclaveTokenAddress = await enclaveToken.getAddress();
|
|
47
|
+
storeDeploymentArgs({
|
|
48
|
+
constructorArgs: {
|
|
49
|
+
owner,
|
|
50
|
+
},
|
|
51
|
+
blockNumber,
|
|
52
|
+
address: enclaveTokenAddress,
|
|
53
|
+
}, "EnclaveToken", chain);
|
|
54
|
+
const enclaveTokenContract = EnclaveTokenFactory.connect(enclaveTokenAddress, signer);
|
|
55
|
+
await disableTransferRestrictionsForLocal(enclaveTokenContract, chain);
|
|
56
|
+
return { enclaveToken: enclaveTokenContract };
|
|
57
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockComputeProvider.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/mockComputeProvider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"mockComputeProvider.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/mockComputeProvider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EACL,mBAAmB,EAEpB,MAAM,aAAa,CAAC;AAGrB,eAAO,MAAM,gCAAgC,GAC3C,KAAK,yBAAyB,KAC7B,OAAO,CAAC;IACT,eAAe,EAAE,mBAAmB,CAAC;CACtC,CA+BA,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import MockComputeProviderModule from "../../ignition/modules/mockComputeProvider";
|
|
2
1
|
import { MockComputeProvider__factory as MockComputeProviderFactory, } from "../../types";
|
|
3
2
|
import { storeDeploymentArgs } from "../utils";
|
|
4
3
|
export const deployAndSaveMockComputeProvider = async (hre) => {
|
|
5
|
-
const {
|
|
6
|
-
const
|
|
7
|
-
await
|
|
8
|
-
|
|
4
|
+
const { ethers } = await hre.network.connect();
|
|
5
|
+
const computeProviderFactory = await ethers.getContractFactory("MockComputeProvider");
|
|
6
|
+
const computeProvider = await computeProviderFactory.deploy();
|
|
7
|
+
await computeProvider.waitForDeployment();
|
|
8
|
+
const computeProviderAddress = await computeProvider.getAddress();
|
|
9
9
|
const [signer] = await ethers.getSigners();
|
|
10
10
|
const chain = hre.globalOptions.network;
|
|
11
11
|
const blockNumber = await ethers.provider.getBlockNumber();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockDecryptionVerifier.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/mockDecryptionVerifier.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"mockDecryptionVerifier.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/mockDecryptionVerifier.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EACL,sBAAsB,EAEvB,MAAM,aAAa,CAAC;AAGrB,eAAO,MAAM,mCAAmC,GAC9C,KAAK,yBAAyB,KAC7B,OAAO,CAAC;IACT,kBAAkB,EAAE,sBAAsB,CAAC;CAC5C,CA8BA,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import MockDecryptionVerifierModule from "../../ignition/modules/mockDecryptionVerifier";
|
|
2
1
|
import { MockDecryptionVerifier__factory as MockDecryptionVerifierFactory, } from "../../types";
|
|
3
2
|
import { storeDeploymentArgs } from "../utils";
|
|
4
3
|
export const deployAndSaveMockDecryptionVerifier = async (hre) => {
|
|
5
|
-
const {
|
|
4
|
+
const { ethers } = await hre.network.connect();
|
|
6
5
|
const [signer] = await ethers.getSigners();
|
|
7
6
|
const chain = hre.globalOptions.network;
|
|
8
|
-
const
|
|
9
|
-
await
|
|
10
|
-
|
|
7
|
+
const decryptionVerifierFactory = await ethers.getContractFactory("MockDecryptionVerifier");
|
|
8
|
+
const decryptionVerifier = await decryptionVerifierFactory.deploy();
|
|
9
|
+
await decryptionVerifier.waitForDeployment();
|
|
10
|
+
const decryptionVerifierAddress = await decryptionVerifier.getAddress();
|
|
11
11
|
const blockNumber = await ethers.provider.getBlockNumber();
|
|
12
12
|
storeDeploymentArgs({
|
|
13
13
|
blockNumber,
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { HardhatRuntimeEnvironment } from "hardhat/types/hre";
|
|
2
2
|
import { MockE3Program } from "../../types";
|
|
3
3
|
interface MockProgramArgs {
|
|
4
|
-
mockInputValidator: string;
|
|
5
4
|
hre: HardhatRuntimeEnvironment;
|
|
6
5
|
}
|
|
7
|
-
export declare const deployAndSaveMockProgram: ({
|
|
6
|
+
export declare const deployAndSaveMockProgram: ({ hre, }: MockProgramArgs) => Promise<{
|
|
8
7
|
e3Program: MockE3Program;
|
|
9
8
|
}>;
|
|
10
9
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockProgram.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/mockProgram.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"mockProgram.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/mockProgram.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EACL,aAAa,EAEd,MAAM,aAAa,CAAC;AAGrB,UAAU,eAAe;IACvB,GAAG,EAAE,yBAAyB,CAAC;CAChC;AAED,eAAO,MAAM,wBAAwB,GAAU,UAE5C,eAAe,KAAG,OAAO,CAAC;IAC3B,SAAS,EAAE,aAAa,CAAC;CAC1B,CA4BA,CAAC"}
|
|
@@ -1,27 +1,15 @@
|
|
|
1
|
-
import MockE3ProgramModule from "../../ignition/modules/mockE3Program";
|
|
2
1
|
import { MockE3Program__factory as MockE3ProgramFactory, } from "../../types";
|
|
3
|
-
import {
|
|
4
|
-
export const deployAndSaveMockProgram = async ({
|
|
5
|
-
const {
|
|
2
|
+
import { storeDeploymentArgs } from "../utils";
|
|
3
|
+
export const deployAndSaveMockProgram = async ({ hre, }) => {
|
|
4
|
+
const { ethers } = await hre.network.connect();
|
|
6
5
|
const [signer] = await ethers.getSigners();
|
|
7
6
|
const chain = (await signer.provider?.getNetwork())?.name ?? "localhost";
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
const e3Program = await ignition.deploy(MockE3ProgramModule, {
|
|
14
|
-
parameters: {
|
|
15
|
-
MockE3Program: {
|
|
16
|
-
mockInputValidator,
|
|
17
|
-
},
|
|
18
|
-
},
|
|
19
|
-
});
|
|
20
|
-
await e3Program.mockE3Program.waitForDeployment();
|
|
21
|
-
const e3ProgramAddress = await e3Program.mockE3Program.getAddress();
|
|
7
|
+
const e3ProgramFactory = await ethers.getContractFactory("MockE3Program");
|
|
8
|
+
const e3Program = await e3ProgramFactory.deploy();
|
|
9
|
+
await e3Program.waitForDeployment();
|
|
10
|
+
const e3ProgramAddress = await e3Program.getAddress();
|
|
22
11
|
const blockNumber = await ethers.provider.getBlockNumber();
|
|
23
12
|
storeDeploymentArgs({
|
|
24
|
-
constructorArgs: { mockInputValidator },
|
|
25
13
|
blockNumber,
|
|
26
14
|
address: e3ProgramAddress,
|
|
27
15
|
}, "MockE3Program", chain);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { HardhatRuntimeEnvironment } from "hardhat/types/hre";
|
|
2
|
+
import { MockUSDC } from "../../types";
|
|
3
|
+
/**
|
|
4
|
+
* The arguments for the deployAndSaveMockStableToken function
|
|
5
|
+
*/
|
|
6
|
+
export interface MockStableTokenArgs {
|
|
7
|
+
initialSupply?: number;
|
|
8
|
+
hre: HardhatRuntimeEnvironment;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Deploys the MockStableToken contract and saves the deployment arguments
|
|
12
|
+
* @param param0 - The deployment arguments
|
|
13
|
+
* @returns The deployed MockStableToken contract
|
|
14
|
+
*/
|
|
15
|
+
export declare const deployAndSaveMockStableToken: ({ initialSupply, hre, }: MockStableTokenArgs) => Promise<{
|
|
16
|
+
mockStableToken: MockUSDC;
|
|
17
|
+
}>;
|
|
18
|
+
//# sourceMappingURL=mockStableToken.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockStableToken.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/mockStableToken.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAwC,MAAM,aAAa,CAAC;AAG7E;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,yBAAyB,CAAC;CAChC;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,GAAU,yBAGhD,mBAAmB,KAAG,OAAO,CAAC;IAC/B,eAAe,EAAE,QAAQ,CAAC;CAC3B,CAiDA,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { MockUSDC__factory as MockUSDCFactory } from "../../types";
|
|
2
|
+
import { readDeploymentArgs, storeDeploymentArgs } from "../utils";
|
|
3
|
+
/**
|
|
4
|
+
* Deploys the MockStableToken contract and saves the deployment arguments
|
|
5
|
+
* @param param0 - The deployment arguments
|
|
6
|
+
* @returns The deployed MockStableToken contract
|
|
7
|
+
*/
|
|
8
|
+
export const deployAndSaveMockStableToken = async ({ initialSupply, hre, }) => {
|
|
9
|
+
const { ethers } = await hre.network.connect();
|
|
10
|
+
const [signer] = await ethers.getSigners();
|
|
11
|
+
const chain = (await signer.provider?.getNetwork())?.name ?? "localhost";
|
|
12
|
+
const preDeployedArgs = readDeploymentArgs("MockUSDC", chain);
|
|
13
|
+
if (initialSupply === undefined ||
|
|
14
|
+
preDeployedArgs?.constructorArgs?.initialSupply ===
|
|
15
|
+
initialSupply?.toString()) {
|
|
16
|
+
if (!preDeployedArgs?.address) {
|
|
17
|
+
throw new Error("MockUSDC address not found, it must be deployed first");
|
|
18
|
+
}
|
|
19
|
+
const mockStableTokenContract = MockUSDCFactory.connect(preDeployedArgs.address, signer);
|
|
20
|
+
return { mockStableToken: mockStableTokenContract };
|
|
21
|
+
}
|
|
22
|
+
const mockStableTokenFactory = await ethers.getContractFactory("MockUSDC");
|
|
23
|
+
const mockStableToken = await mockStableTokenFactory.deploy(initialSupply);
|
|
24
|
+
await mockStableToken.waitForDeployment();
|
|
25
|
+
const blockNumber = await ethers.provider.getBlockNumber();
|
|
26
|
+
const mockStableTokenAddress = await mockStableToken.getAddress();
|
|
27
|
+
storeDeploymentArgs({
|
|
28
|
+
constructorArgs: {
|
|
29
|
+
initialSupply: initialSupply?.toString(),
|
|
30
|
+
},
|
|
31
|
+
blockNumber,
|
|
32
|
+
address: mockStableTokenAddress,
|
|
33
|
+
}, "MockUSDC", chain);
|
|
34
|
+
const mockStableTokenContract = MockUSDCFactory.connect(mockStableTokenAddress, signer);
|
|
35
|
+
return { mockStableToken: mockStableTokenContract };
|
|
36
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { HardhatRuntimeEnvironment } from "hardhat/types/hre";
|
|
2
|
+
interface PoseidonT3ProxyDeployArgs {
|
|
3
|
+
hre: HardhatRuntimeEnvironment;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Deploy and save PoseidonT3 contract behind a proxy
|
|
7
|
+
* @param param0
|
|
8
|
+
*/
|
|
9
|
+
export declare const deployAndSavePoseidonT3: ({ hre, }: PoseidonT3ProxyDeployArgs) => Promise<string>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=poseidonT3.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poseidonT3.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/poseidonT3.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAKnE,UAAU,yBAAyB;IACjC,GAAG,EAAE,yBAAyB,CAAC;CAChC;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAU,UAE3C,yBAAyB,KAAG,OAAO,CAAC,MAAM,CA6C5C,CAAC"}
|