diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml deleted file mode 100644 index 25f96f99..00000000 --- a/.github/workflows/release.yaml +++ /dev/null @@ -1,42 +0,0 @@ -name: Release Flow - -on: - release: - types: [published] - -jobs: - publish-images: - name: Publish Docker Images - strategy: - matrix: - os: [ubuntu-latest] - python-version: ["3.10"] - runs-on: ${{ matrix.os }} - steps: - - name: Checkout repository and submodules - uses: actions/checkout@v2 - with: - submodules: recursive - - name: Setup - run: | - echo export TAG=$(git describe --tags --abbrev=0) > env.sh - cp scripts/mainnet_snapshot.json ./sanpshot.json - - name: Build version tagged images - run: | - source env.sh - docker build . -t valory/autonolas-registries:$TAG -f ./Dockerfile - - name: Tag to latest - run: | - source env.sh - docker tag valory/autonolas-registries:$TAG valory/autonolas-registries:latest - - name: Docker login - env: - DOCKER_USER: ${{secrets.DOCKER_USER}} - DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}} - run: | - docker login -u $DOCKER_USER -p $DOCKER_PASSWORD - - name: Docker Push - run: | - source env.sh - docker push valory/autonolas-registries:$TAG - docker push valory/autonolas-registries:latest diff --git a/.github/workflows/workflow.yaml b/.github/workflows/workflow.yaml index 76100aeb..a4ed476b 100644 --- a/.github/workflows/workflow.yaml +++ b/.github/workflows/workflow.yaml @@ -20,10 +20,8 @@ jobs: with: submodules: recursive - - name: Get a specific Node.js version such that hardhat does not hang periodically + - name: Install Node.js uses: actions/setup-node@v3 - with: - node-version: "18.15.0" # Install modules - name: Install modules @@ -74,7 +72,7 @@ jobs: with: go-version: "1.17.7" - run: | - wget https://github.com/zricethezav/gitleaks/releases/download/v8.10.1/gitleaks_8.10.1_linux_x64.tar.gz && \ - tar -xzf gitleaks_8.10.1_linux_x64.tar.gz && \ + wget https://github.com/gitleaks/gitleaks/releases/download/v8.21.2/gitleaks_8.21.2_linux_x64.tar.gz && \ + tar -xzf gitleaks_8.21.2_linux_x64.tar.gz && \ sudo install gitleaks /usr/bin && \ gitleaks detect --report-format json --report-path leak_report -v \ No newline at end of file diff --git a/.gitleaksignore b/.gitleaksignore index 4d520e11..34f195b3 100644 --- a/.gitleaksignore +++ b/.gitleaksignore @@ -435,4 +435,8 @@ c71519f1ffae8a411ee44ee49de26d13ec6a0ce2:scripts/deployment/l2/globals_mode_main cd3b8c411856aa346cdcc75db3b819447990d327:scripts/deployment/l2/globals_mode_mainnet.json:generic-api-key:1 cd3b8c411856aa346cdcc75db3b819447990d327:scripts/deployment/l2/globals_mode_mainnet.json:generic-api-key:2 cd3b8c411856aa346cdcc75db3b819447990d327:scripts/deployment/globals_mainnet.json:generic-api-key:1 -cd3b8c411856aa346cdcc75db3b819447990d327:scripts/deployment/globals_mainnet.json:generic-api-key:2 \ No newline at end of file +cd3b8c411856aa346cdcc75db3b819447990d327:scripts/deployment/globals_mainnet.json:generic-api-key:2 +0b8af885e455a5da1f331bb190c75290785bf74f:scripts/deployment/l2/globals_celo_mainnet.json:generic-api-key:1 +0b8af885e455a5da1f331bb190c75290785bf74f:scripts/deployment/l2/globals_celo_mainnet.json:generic-api-key:2 +0b8af885e455a5da1f331bb190c75290785bf74f:scripts/deployment/l2/globals_celo_mainnet.json:generic-api-key:1 +0b8af885e455a5da1f331bb190c75290785bf74f:scripts/deployment/l2/globals_celo_mainnet.json:generic-api-key:2 \ No newline at end of file diff --git a/scripts/audit_chains/audit_contracts_setup.js b/scripts/audit_chains/audit_contracts_setup.js index 6b662b1f..e148c81d 100644 --- a/scripts/audit_chains/audit_contracts_setup.js +++ b/scripts/audit_chains/audit_contracts_setup.js @@ -82,9 +82,6 @@ async function checkOwner(chainId, contract, globalsInstance, log) { customExpect(owner, globalsInstance["timelockAddress"], log + ", function: owner()"); } else { // BridgeMediator for L2-s - // Note that for chiado bridgeMediatorAddress is the one with the mock Timelock (bridgeMediatorMockTimelockAddress) - // This is done in such a way because it is easier to test cross-chain transactions, as it's not possible via tenderly. - // This can be changed at any time for the bridgeMediator contract with the real Timelock on goerli. customExpect(owner, globalsInstance["bridgeMediatorAddress"], log + ", function: owner()"); } } diff --git a/scripts/deployment/README.md b/scripts/deployment/README.md index 2f9150bc..2076ab97 100644 --- a/scripts/deployment/README.md +++ b/scripts/deployment/README.md @@ -4,7 +4,7 @@ as described in [deployment.md](https://github.com/valory-xyz/autonolas-registri in [deploymentL2.md](https://github.com/valory-xyz/autonolas-registries/blob/main/docs/deploymentL2.md) specifically for L2 networks. ## Observations -- There are several files with global parameters based on the corresponding network. In order to work with the configuration, please copy `gobals_network.json` file to file the `gobals.json` one, where `network` is the corresponding network. For example: `cp gobals_goerli.json gobals.json`. +- There are several files with global parameters based on the corresponding network. In order to work with the configuration, please copy `gobals_network.json` file to file the `gobals.json` one, where `network` is the corresponding network. For example: `cp gobals_mainnet.json gobals.json`. - Please note: if you encounter the `Unknown Error 0x6b0c`, then it is likely because the ledger is not connected or logged in. - The script to change ownership of the registries to Timelock (`deploy_10_14_change_ownerships.js`) will be done after the DAO members voting. @@ -22,7 +22,7 @@ npx hardhat compile command as described in the [main readme](https://github.com/valory-xyz/autonolas-registries/blob/main/README.md). -Create a `globals.json` file in the root folder, or copy it from the file with pre-defined parameters (i.e., `scripts/deployment/globals_goerli.json` for the goerli testnet). +Create a `globals.json` file in the root folder, or copy it from the file with pre-defined parameters (i.e., `scripts/deployment/globals_mainnet.json` for the mainnet). Parameters of the `globals.json` file: - `contractVerification`: a flag for verifying contracts in deployment scripts (`true`) or skipping it (`false`); diff --git a/scripts/deployment/deploy_15_operator_whitelist.js b/scripts/deployment/deploy_15_operator_whitelist.js index ba90b8f9..c55551f1 100644 --- a/scripts/deployment/deploy_15_operator_whitelist.js +++ b/scripts/deployment/deploy_15_operator_whitelist.js @@ -38,8 +38,8 @@ async function main() { console.log("Contract address:", operatorWhitelist.address); console.log("Transaction:", result.deployTransaction.hash); - // If on goerli, wait for half a minute for the transaction completion - if (providerName === "goerli") { + // If on sepolia, wait for half a minute for the transaction completion + if (providerName === "sepolia") { await new Promise(r => setTimeout(r, 30000)); } diff --git a/scripts/deployment/deploy_16_service_registry_token_utility.js b/scripts/deployment/deploy_16_service_registry_token_utility.js index a3566a15..6ace1efe 100644 --- a/scripts/deployment/deploy_16_service_registry_token_utility.js +++ b/scripts/deployment/deploy_16_service_registry_token_utility.js @@ -38,8 +38,8 @@ async function main() { console.log("Contract address:", serviceRegistryTokenUtility.address); console.log("Transaction:", result.deployTransaction.hash); - // If on goerli, wait for half a minute for the transaction completion - if (providerName === "goerli") { + // If on sepolia, wait for half a minute for the transaction completion + if (providerName === "sepolia") { await new Promise(r => setTimeout(r, 30000)); } diff --git a/scripts/deployment/deploy_17_service_manager_token.js b/scripts/deployment/deploy_17_service_manager_token.js index c4b47deb..37b4ac95 100644 --- a/scripts/deployment/deploy_17_service_manager_token.js +++ b/scripts/deployment/deploy_17_service_manager_token.js @@ -41,8 +41,8 @@ async function main() { console.log("Contract address:", serviceManagerToken.address); console.log("Transaction:", result.deployTransaction.hash); - // If on goerli, wait for half a minute for the transaction completion - if (providerName === "goerli") { + // If on sepolia, wait for half a minute for the transaction completion + if (providerName === "sepolia") { await new Promise(r => setTimeout(r, 30000)); } diff --git a/scripts/deployment/deploy_21_service_staking_factory.js b/scripts/deployment/deploy_21_service_staking_factory.js index dae8ffec..feb53357 100644 --- a/scripts/deployment/deploy_21_service_staking_factory.js +++ b/scripts/deployment/deploy_21_service_staking_factory.js @@ -37,7 +37,7 @@ async function main() { console.log("Contract address:", stakingFactory.address); console.log("Transaction:", result.deployTransaction.hash); - // If on goerli, wait for half a minute for the transaction completion + // If on sepolia, wait for half a minute for the transaction completion if (providerName === "sepolia") { await new Promise(r => setTimeout(r, 30000)); } diff --git a/scripts/deployment/globals_goerli.json b/scripts/deployment/globals_legacy_goerli.json similarity index 100% rename from scripts/deployment/globals_goerli.json rename to scripts/deployment/globals_legacy_goerli.json diff --git a/scripts/deployment/l2/globals_base_mainnet.json b/scripts/deployment/l2/globals_base_mainnet.json index 485c2b9b..c1ac5312 100644 --- a/scripts/deployment/l2/globals_base_mainnet.json +++ b/scripts/deployment/l2/globals_base_mainnet.json @@ -1 +1 @@ -{"contractVerification":true,"useLedger":true,"derivationPath":"m/44'/60'/2'/0/0","providerName":"base","networkURL":"https://mainnet.base.org","gasPriceInGwei":"2","gnosisSafeAddress":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","gnosisSafeProxyFactoryAddress":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","baseURI":"https://gateway.autonolas.tech/ipfs/","serviceRegistryName":"Service Registry L2","serviceRegistrySymbol":"AUTONOLAS-SERVICE-L2-V1","bridgeMediatorAddress":"0xE49CB081e8d96920C38aA7AB90cb0294ab4Bc8EA","olasAddress":"0x54330d28ca3357F294334BDC454a032e7f353416","multisigProxyHash130":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000","serviceRegistryAddress":"0x3C1fF68f5aa342D296d4DEe4Bb1cACCA912D95fE","operatorWhitelistAddress":"0x3d77596beb0f130a4415df3D2D8232B3d3D31e44","serviceRegistryTokenUtilityAddress":"0x34C895f302D0b5cf52ec0Edd3945321EB0f83dd5","serviceManagerTokenAddress":"0x63e66d7ad413C01A7b49C7FF4e3Bb765C4E4bd1b","gnosisSafeMultisigImplementationAddress":"0xBb7e1D6Cb6F243D6bdE81CE92a9f2aFF7Fbe7eac","gnosisSafeSameAddressMultisigImplementationAddress":"0xFbBEc0C8b13B38a9aC0499694A69a10204c5E2aB","stakingTokenAddress":"0xEB5638eefE289691EcE01943f768EDBF96258a80","stakingNativeTokenAddress":"","minStakingDepositLimit":"10000000000000000000000","timeForEmissionsLimit":"2592000","numServicesLimit":"100","apyLimit":"3000000000000000000","stakingVerifierAddress":"0x10c5525F77F13b28f42c5626240c001c2D57CAd4","stakingFactoryAddress":"0x1cEe30D08943EB58EFF84DD1AB44a6ee6FEff63a","L1CrossDomainMessengerProxyAddress":"0xE49CB081e8d96920C38aA7AB90cb0294ab4Bc8EA"} \ No newline at end of file +{"contractVerification":true,"useLedger":true,"derivationPath":"m/44'/60'/2'/0/0","providerName":"base","networkURL":"https://mainnet.base.org","gasPriceInGwei":"2","gnosisSafeAddress":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","gnosisSafeProxyFactoryAddress":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","baseURI":"https://gateway.autonolas.tech/ipfs/","serviceRegistryName":"Service Registry L2","serviceRegistrySymbol":"AUTONOLAS-SERVICE-L2-V1","bridgeMediatorAddress":"0xE49CB081e8d96920C38aA7AB90cb0294ab4Bc8EA","olasAddress":"0x54330d28ca3357F294334BDC454a032e7f353416","multisigProxyHash130":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000","serviceRegistryAddress":"0x3C1fF68f5aa342D296d4DEe4Bb1cACCA912D95fE","operatorWhitelistAddress":"0x3d77596beb0f130a4415df3D2D8232B3d3D31e44","serviceRegistryTokenUtilityAddress":"0x34C895f302D0b5cf52ec0Edd3945321EB0f83dd5","serviceManagerTokenAddress":"0x63e66d7ad413C01A7b49C7FF4e3Bb765C4E4bd1b","gnosisSafeMultisigImplementationAddress":"0xBb7e1D6Cb6F243D6bdE81CE92a9f2aFF7Fbe7eac","gnosisSafeSameAddressMultisigImplementationAddress":"0xFbBEc0C8b13B38a9aC0499694A69a10204c5E2aB","stakingTokenAddress":"0xEB5638eefE289691EcE01943f768EDBF96258a80","stakingNativeTokenAddress":"","minStakingDepositLimit":"10000000000000000000000","timeForEmissionsLimit":"2592000","numServicesLimit":"100","apyLimit":"3000000000000000000","stakingVerifierAddress":"0x10c5525F77F13b28f42c5626240c001c2D57CAd4","stakingFactoryAddress":"0x1cEe30D08943EB58EFF84DD1AB44a6ee6FEff63a","L1CrossDomainMessengerProxyAddress":"0xE49CB081e8d96920C38aA7AB90cb0294ab4Bc8EA"} \ No newline at end of file diff --git a/scripts/deployment/l2/globals_base_sepolia.json b/scripts/deployment/l2/globals_base_sepolia.json index 390b8f5a..c96ac8ee 100644 --- a/scripts/deployment/l2/globals_base_sepolia.json +++ b/scripts/deployment/l2/globals_base_sepolia.json @@ -1 +1 @@ -{"contractVerification":true,"useLedger":false,"derivationPath":"m/44'/60'/2'/0/0","providerName":"baseSepolia","networkURL":"https://sepolia.base.org","gasPriceInGwei":"2","gnosisSafeAddress":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","gnosisSafeProxyFactoryAddress":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","baseURI":"https://gateway.autonolas.tech/ipfs/","serviceRegistryName":"Service Registry","serviceRegistrySymbol":"AUTONOLAS-SERVICE-V1","bridgeMediatorAddress":"0xeDd71796B90eaCc56B074C39BAC90ED2Ca6D93Ee","olasAddress":"","multisigProxyHash130":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000","serviceRegistryAddress":"0x31D3202d8744B16A120117A053459DDFAE93c855","operatorWhitelistAddress":"0x29086141ecdc310058fc23273F8ef7881d20C2f7","serviceRegistryTokenUtilityAddress":"0xeB49bE5DF00F74bd240DE4535DDe6Bc89CEfb994","serviceManagerTokenAddress":"0x5BA58970c2Ae16Cf6218783018100aF2dCcFc915","gnosisSafeMultisigImplementationAddress":"0x19936159B528C66750992C3cBcEd2e71cF4E4824","gnosisSafeSameAddressMultisigImplementationAddress":"0x10100e74b7F706222F8A7C0be9FC7Ae1717Ad8B2"} \ No newline at end of file +{"contractVerification":true,"useLedger":false,"derivationPath":"m/44'/60'/2'/0/0","providerName":"baseSepolia","networkURL":"https://sepolia.base.org","gasPriceInGwei":"2","gnosisSafeAddress":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","gnosisSafeProxyFactoryAddress":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","baseURI":"https://gateway.autonolas.tech/ipfs/","serviceRegistryName":"Service Registry","serviceRegistrySymbol":"AUTONOLAS-SERVICE-V1","bridgeMediatorAddress":"0xeDd71796B90eaCc56B074C39BAC90ED2Ca6D93Ee","olasAddress":"","multisigProxyHash130":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000","serviceRegistryAddress":"0x31D3202d8744B16A120117A053459DDFAE93c855","operatorWhitelistAddress":"0x29086141ecdc310058fc23273F8ef7881d20C2f7","serviceRegistryTokenUtilityAddress":"0xeB49bE5DF00F74bd240DE4535DDe6Bc89CEfb994","serviceManagerTokenAddress":"0x5BA58970c2Ae16Cf6218783018100aF2dCcFc915","gnosisSafeMultisigImplementationAddress":"0x19936159B528C66750992C3cBcEd2e71cF4E4824","gnosisSafeSameAddressMultisigImplementationAddress":"0x10100e74b7F706222F8A7C0be9FC7Ae1717Ad8B2"} \ No newline at end of file diff --git a/scripts/deployment/l2/globals_celo_mainnet.json b/scripts/deployment/l2/globals_celo_mainnet.json index a45ce789..aa1d6631 100644 --- a/scripts/deployment/l2/globals_celo_mainnet.json +++ b/scripts/deployment/l2/globals_celo_mainnet.json @@ -1 +1 @@ -{"contractVerification":true,"useLedger":true,"derivationPath":"m/44'/60'/2'/0/0","providerName":"celo","networkURL":"https://forno.celo.org","gasPriceInGwei":"10","gnosisSafeAddress":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","gnosisSafeProxyFactoryAddress":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","baseURI":"https://gateway.autonolas.tech/ipfs/","serviceRegistryName":"Service Registry L2","serviceRegistrySymbol":"AUTONOLAS-SERVICE-L2-V1","bridgeMediatorAddress":"0x397125902ED2cA2d42104F621f448A2cE1bC8Fb7","olasAddress":"0xaCFfAe8e57Ec6E394Eb1b41939A8CF7892DbDc51","multisigProxyHash130":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000","serviceRegistryAddress":"0xE3607b00E75f6405248323A9417ff6b39B244b50","operatorWhitelistAddress":"0x3C1fF68f5aa342D296d4DEe4Bb1cACCA912D95fE","serviceRegistryTokenUtilityAddress":"0x3d77596beb0f130a4415df3D2D8232B3d3D31e44","serviceManagerTokenAddress":"0x34C895f302D0b5cf52ec0Edd3945321EB0f83dd5","gnosisSafeMultisigImplementationAddress":"0x63e66d7ad413C01A7b49C7FF4e3Bb765C4E4bd1b","gnosisSafeSameAddressMultisigImplementationAddress":"0xBb7e1D6Cb6F243D6bdE81CE92a9f2aFF7Fbe7eac","stakingTokenAddress":"0xe1E1B286EbE95b39F785d8069f2248ae9C41b7a9","stakingNativeTokenAddress":"","minStakingDepositLimit":"10000000000000000000000","timeForEmissionsLimit":"2592000","numServicesLimit":"100","apyLimit":"3000000000000000000","stakingVerifierAddress":"0xc40C79C275F3fA1F3f4c723755C81ED2D53A8D81","stakingFactoryAddress":"0x1c2cD884127b080F940b7546c1e9aaf525b1FA55","wormholeL1MessageRelayerAddress":"0x27428DD2d3DD32A4D7f7C497eAaa23130d894911","wormholeMessengerAddress":"0x397125902ED2cA2d42104F621f448A2cE1bC8Fb7"} \ No newline at end of file +{"contractVerification":true,"useLedger":true,"derivationPath":"m/44'/60'/2'/0/0","providerName":"celo","networkURL":"https://forno.celo.org","gasPriceInGwei":"10","gnosisSafeAddress":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","gnosisSafeProxyFactoryAddress":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","baseURI":"https://gateway.autonolas.tech/ipfs/","serviceRegistryName":"Service Registry L2","serviceRegistrySymbol":"AUTONOLAS-SERVICE-L2-V1","bridgeMediatorAddress":"0x397125902ED2cA2d42104F621f448A2cE1bC8Fb7","olasAddress":"0xaCFfAe8e57Ec6E394Eb1b41939A8CF7892DbDc51","multisigProxyHash130":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000","serviceRegistryAddress":"0xE3607b00E75f6405248323A9417ff6b39B244b50","operatorWhitelistAddress":"0x3C1fF68f5aa342D296d4DEe4Bb1cACCA912D95fE","serviceRegistryTokenUtilityAddress":"0x3d77596beb0f130a4415df3D2D8232B3d3D31e44","serviceManagerTokenAddress":"0x34C895f302D0b5cf52ec0Edd3945321EB0f83dd5","gnosisSafeMultisigImplementationAddress":"0x63e66d7ad413C01A7b49C7FF4e3Bb765C4E4bd1b","gnosisSafeSameAddressMultisigImplementationAddress":"0xBb7e1D6Cb6F243D6bdE81CE92a9f2aFF7Fbe7eac","stakingTokenAddress":"0xe1E1B286EbE95b39F785d8069f2248ae9C41b7a9","stakingNativeTokenAddress":"","minStakingDepositLimit":"10000000000000000000000","timeForEmissionsLimit":"2592000","numServicesLimit":"100","apyLimit":"3000000000000000000","stakingVerifierAddress":"0xc40C79C275F3fA1F3f4c723755C81ED2D53A8D81","stakingFactoryAddress":"0x1c2cD884127b080F940b7546c1e9aaf525b1FA55","wormholeL1MessageRelayerAddress":"0x27428DD2d3DD32A4D7f7C497eAaa23130d894911","wormholeMessengerAddress":"0x397125902ED2cA2d42104F621f448A2cE1bC8Fb7"} \ No newline at end of file diff --git a/scripts/deployment/l2/globals_optimistic_mainnet.json b/scripts/deployment/l2/globals_optimistic_mainnet.json index 5229c893..4b16e7df 100644 --- a/scripts/deployment/l2/globals_optimistic_mainnet.json +++ b/scripts/deployment/l2/globals_optimistic_mainnet.json @@ -1 +1 @@ -{"contractVerification":true,"useLedger":true,"derivationPath":"m/44'/60'/2'/0/0","providerName":"optimistic","networkURL":"https://mainnet.optimism.io","gasPriceInGwei":"2","gnosisSafeAddress":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","gnosisSafeProxyFactoryAddress":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","baseURI":"https://gateway.autonolas.tech/ipfs/","serviceRegistryName":"Service Registry L2","serviceRegistrySymbol":"AUTONOLAS-SERVICE-L2-V1","bridgeMediatorAddress":"0x87c511c8aE3fAF0063b3F3CF9C6ab96c4AA5C60c","olasAddress":"0xFC2E6e6BCbd49ccf3A5f029c79984372DcBFE527","multisigProxyHash130":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000","serviceRegistryAddress":"0x3d77596beb0f130a4415df3D2D8232B3d3D31e44","operatorWhitelistAddress":"0x63e66d7ad413C01A7b49C7FF4e3Bb765C4E4bd1b","serviceRegistryTokenUtilityAddress":"0xBb7e1D6Cb6F243D6bdE81CE92a9f2aFF7Fbe7eac","serviceManagerTokenAddress":"0xFbBEc0C8b13B38a9aC0499694A69a10204c5E2aB","gnosisSafeMultisigImplementationAddress":"0xE43d4F4103b623B61E095E8bEA34e1bc8979e168","gnosisSafeSameAddressMultisigImplementationAddress":"0xb09CcF0Dbf0C178806Aaee28956c74bd66d21f73","stakingTokenAddress":"0x63C2c53c09dE534Dd3bc0b7771bf976070936bAC","stakingNativeTokenAddress":"","minStakingDepositLimit":"10000000000000000000000","timeForEmissionsLimit":"2592000","numServicesLimit":"100","apyLimit":"3000000000000000000","stakingVerifierAddress":"0x526E064cB694E8f5B7DB299158e17F33055B3943","stakingFactoryAddress":"0xa45E64d13A30a51b91ae0eb182e88a40e9b18eD8","L1CrossDomainMessengerProxyAddress":"0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1"} \ No newline at end of file +{"contractVerification":true,"useLedger":true,"derivationPath":"m/44'/60'/2'/0/0","providerName":"optimistic","networkURL":"https://mainnet.optimism.io","gasPriceInGwei":"2","gnosisSafeAddress":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","gnosisSafeProxyFactoryAddress":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","baseURI":"https://gateway.autonolas.tech/ipfs/","serviceRegistryName":"Service Registry L2","serviceRegistrySymbol":"AUTONOLAS-SERVICE-L2-V1","bridgeMediatorAddress":"0x87c511c8aE3fAF0063b3F3CF9C6ab96c4AA5C60c","olasAddress":"0xFC2E6e6BCbd49ccf3A5f029c79984372DcBFE527","multisigProxyHash130":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000","serviceRegistryAddress":"0x3d77596beb0f130a4415df3D2D8232B3d3D31e44","operatorWhitelistAddress":"0x63e66d7ad413C01A7b49C7FF4e3Bb765C4E4bd1b","serviceRegistryTokenUtilityAddress":"0xBb7e1D6Cb6F243D6bdE81CE92a9f2aFF7Fbe7eac","serviceManagerTokenAddress":"0xFbBEc0C8b13B38a9aC0499694A69a10204c5E2aB","gnosisSafeMultisigImplementationAddress":"0xE43d4F4103b623B61E095E8bEA34e1bc8979e168","gnosisSafeSameAddressMultisigImplementationAddress":"0xb09CcF0Dbf0C178806Aaee28956c74bd66d21f73","stakingTokenAddress":"0x63C2c53c09dE534Dd3bc0b7771bf976070936bAC","stakingNativeTokenAddress":"","minStakingDepositLimit":"10000000000000000000000","timeForEmissionsLimit":"2592000","numServicesLimit":"100","apyLimit":"3000000000000000000","stakingVerifierAddress":"0x526E064cB694E8f5B7DB299158e17F33055B3943","stakingFactoryAddress":"0xa45E64d13A30a51b91ae0eb182e88a40e9b18eD8","L1CrossDomainMessengerProxyAddress":"0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1"} \ No newline at end of file diff --git a/scripts/deployment/l2/globals_optimistic_sepolia.json b/scripts/deployment/l2/globals_optimistic_sepolia.json index bf5eab59..52fc1b6a 100644 --- a/scripts/deployment/l2/globals_optimistic_sepolia.json +++ b/scripts/deployment/l2/globals_optimistic_sepolia.json @@ -1 +1 @@ -{"contractVerification":true,"useLedger":false,"derivationPath":"m/44'/60'/2'/0/0","providerName":"optimisticSepolia","networkURL":"https://sepolia.optimism.io","gasPriceInGwei":"2","gnosisSafeAddress":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","gnosisSafeProxyFactoryAddress":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","baseURI":"https://gateway.autonolas.tech/ipfs/","serviceRegistryName":"Service Registry","serviceRegistrySymbol":"AUTONOLAS-SERVICE-V1","bridgeMediatorAddress":"0x670Ac235EE13C0B2a5065282bBB0c61cfB354592","olasAddress":"0x01B8b6384298D4848E3BE63D4C9D17830EeE488A","multisigProxyHash130":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000","serviceRegistryAddress":"0x31D3202d8744B16A120117A053459DDFAE93c855","operatorWhitelistAddress":"0x29086141ecdc310058fc23273F8ef7881d20C2f7","serviceRegistryTokenUtilityAddress":"0xeB49bE5DF00F74bd240DE4535DDe6Bc89CEfb994","serviceManagerTokenAddress":"0x5BA58970c2Ae16Cf6218783018100aF2dCcFc915","gnosisSafeMultisigImplementationAddress":"0x19936159B528C66750992C3cBcEd2e71cF4E4824","gnosisSafeSameAddressMultisigImplementationAddress":"0x10100e74b7F706222F8A7C0be9FC7Ae1717Ad8B2","stakingTokenAddress":"0x57f3703D281Fd7b3896969086Cf14Aa6Ace99d92","stakingNativeTokenAddress":"0x87ecEccEDA41A6dF29FFC780c028510b3198DC74","livenessRatio":"700000000000000","stakingActivityCheckerAddress":"0xf91962bEEF99cc53adD71Aa035CBEFF9Ec062728","minStakingDepositLimit":"10000000000000000000000","timeForEmissionsLimit":"2592000","numServicesLimit":"100","apyLimit":"3000000000000000000","stakingVerifierAddress":"0x357da3967BaB7aed076cC9eE150ef2980A6ccD44","stakingFactoryAddress":"0x3ac32cE492d2bDaf11C8f43Edc16FCa9b4b65675"} \ No newline at end of file +{"contractVerification":true,"useLedger":false,"derivationPath":"m/44'/60'/2'/0/0","providerName":"optimisticSepolia","networkURL":"https://sepolia.optimism.io","gasPriceInGwei":"2","gnosisSafeAddress":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","gnosisSafeProxyFactoryAddress":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","baseURI":"https://gateway.autonolas.tech/ipfs/","serviceRegistryName":"Service Registry","serviceRegistrySymbol":"AUTONOLAS-SERVICE-V1","bridgeMediatorAddress":"0x670Ac235EE13C0B2a5065282bBB0c61cfB354592","olasAddress":"0x01B8b6384298D4848E3BE63D4C9D17830EeE488A","multisigProxyHash130":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000","serviceRegistryAddress":"0x31D3202d8744B16A120117A053459DDFAE93c855","operatorWhitelistAddress":"0x29086141ecdc310058fc23273F8ef7881d20C2f7","serviceRegistryTokenUtilityAddress":"0xeB49bE5DF00F74bd240DE4535DDe6Bc89CEfb994","serviceManagerTokenAddress":"0x5BA58970c2Ae16Cf6218783018100aF2dCcFc915","gnosisSafeMultisigImplementationAddress":"0x19936159B528C66750992C3cBcEd2e71cF4E4824","gnosisSafeSameAddressMultisigImplementationAddress":"0x10100e74b7F706222F8A7C0be9FC7Ae1717Ad8B2","stakingTokenAddress":"0x57f3703D281Fd7b3896969086Cf14Aa6Ace99d92","stakingNativeTokenAddress":"0x87ecEccEDA41A6dF29FFC780c028510b3198DC74","livenessRatio":"700000000000000","stakingActivityCheckerAddress":"0xf91962bEEF99cc53adD71Aa035CBEFF9Ec062728","minStakingDepositLimit":"10000000000000000000000","timeForEmissionsLimit":"2592000","numServicesLimit":"100","apyLimit":"3000000000000000000","stakingVerifierAddress":"0x357da3967BaB7aed076cC9eE150ef2980A6ccD44","stakingFactoryAddress":"0x3ac32cE492d2bDaf11C8f43Edc16FCa9b4b65675"} \ No newline at end of file diff --git a/scripts/deployment/l2/wormhole/globals_celo_mainnet.json b/scripts/deployment/l2/wormhole/globals_celo_mainnet.json index 6a5faeda..ee6bdece 100644 --- a/scripts/deployment/l2/wormhole/globals_celo_mainnet.json +++ b/scripts/deployment/l2/wormhole/globals_celo_mainnet.json @@ -1 +1 @@ -{"contractVerification":true,"useLedger":false,"derivationPath":"m/44'/60'/2'/0/0","providerName":"celo","networkURL":"https://forno.celo.org","gasPriceInGwei":"10","gnosisSafeAddress":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","gnosisSafeProxyFactoryAddress":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","baseURI":"https://gateway.autonolas.tech/ipfs/","serviceRegistryName":"Service Registry L2","serviceRegistrySymbol":"AUTONOLAS-SERVICE-L2-V1","bridgeMediatorAddress":"","olasAddress":"0xb8B338b84cc4E16D1a73B617bfbe8f74a07270E6","multisigProxyHash130":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000","serviceRegistryAddress":"0xE3607b00E75f6405248323A9417ff6b39B244b50","operatorWhitelistAddress":"0x3C1fF68f5aa342D296d4DEe4Bb1cACCA912D95fE","serviceRegistryTokenUtilityAddress":"0x3d77596beb0f130a4415df3D2D8232B3d3D31e44","serviceManagerTokenAddress":"0x34C895f302D0b5cf52ec0Edd3945321EB0f83dd5","gnosisSafeMultisigImplementationAddress":"0x63e66d7ad413C01A7b49C7FF4e3Bb765C4E4bd1b","gnosisSafeSameAddressMultisigImplementationAddress":"0xBb7e1D6Cb6F243D6bdE81CE92a9f2aFF7Fbe7eac","stakingParams":{"maxNumServices":"100","rewardsPerSecond":"1000000000000000","minStakingDeposit":"50000000000000000000","minNumStakingPeriods":"3","maxNumInactivityPeriods":"3","livenessPeriod":"86400","livenessRatio":"700000000000000","numAgentInstances":"1","agentIds":["12"],"threshold":"0","configHash":"0x0000000000000000000000000000000000000000000000000000000000000000"},"stakingTokenAddress":"0x19936159B528C66750992C3cBcEd2e71cF4E4824","stakingFactoryAddress":"0x10100e74b7F706222F8A7C0be9FC7Ae1717Ad8B2","stakingTokenInstanceAddress":"0x49DB8Be279e8eEc6975f30A3beCC57CAC9922cBB"} \ No newline at end of file +{"contractVerification":true,"useLedger":false,"derivationPath":"m/44'/60'/2'/0/0","providerName":"celo","networkURL":"https://forno.celo.org","gasPriceInGwei":"10","gnosisSafeAddress":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","gnosisSafeProxyFactoryAddress":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","baseURI":"https://gateway.autonolas.tech/ipfs/","serviceRegistryName":"Service Registry L2","serviceRegistrySymbol":"AUTONOLAS-SERVICE-L2-V1","bridgeMediatorAddress":"","olasAddress":"0xb8B338b84cc4E16D1a73B617bfbe8f74a07270E6","multisigProxyHash130":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000","serviceRegistryAddress":"0xE3607b00E75f6405248323A9417ff6b39B244b50","operatorWhitelistAddress":"0x3C1fF68f5aa342D296d4DEe4Bb1cACCA912D95fE","serviceRegistryTokenUtilityAddress":"0x3d77596beb0f130a4415df3D2D8232B3d3D31e44","serviceManagerTokenAddress":"0x34C895f302D0b5cf52ec0Edd3945321EB0f83dd5","gnosisSafeMultisigImplementationAddress":"0x63e66d7ad413C01A7b49C7FF4e3Bb765C4E4bd1b","gnosisSafeSameAddressMultisigImplementationAddress":"0xBb7e1D6Cb6F243D6bdE81CE92a9f2aFF7Fbe7eac","stakingParams":{"maxNumServices":"100","rewardsPerSecond":"1000000000000000","minStakingDeposit":"50000000000000000000","minNumStakingPeriods":"3","maxNumInactivityPeriods":"3","livenessPeriod":"86400","livenessRatio":"700000000000000","numAgentInstances":"1","agentIds":["12"],"threshold":"0","configHash":"0x0000000000000000000000000000000000000000000000000000000000000000"},"stakingTokenAddress":"0x19936159B528C66750992C3cBcEd2e71cF4E4824","stakingFactoryAddress":"0x10100e74b7F706222F8A7C0be9FC7Ae1717Ad8B2","stakingTokenInstanceAddress":"0x49DB8Be279e8eEc6975f30A3beCC57CAC9922cBB"} \ No newline at end of file diff --git a/scripts/proposals/proposal_07_service_registry_change_multisig_permission_goerli_mainnet.js b/scripts/proposals/proposal_07_service_registry_change_multisig_permission_goerli_mainnet.js index 07a46479..4c27f82d 100644 --- a/scripts/proposals/proposal_07_service_registry_change_multisig_permission_goerli_mainnet.js +++ b/scripts/proposals/proposal_07_service_registry_change_multisig_permission_goerli_mainnet.js @@ -28,7 +28,7 @@ async function main() { let oldMultisig; if (providerName === "mainnet") { oldMultisig = "0x26Ea2dC7ce1b41d0AD0E0521535655d7a94b684c"; - } else if (providerName === "goerli") { + } else if (providerName === "sepolia") { oldMultisig = "0x92499E80f50f06C4078794C179986907e7822Ea1"; } else { console.log("Unknown network provider", providerName); diff --git a/scripts/proposals/proposal_13_staking_verifier_change_limits_set_implementation_celo.js b/scripts/proposals/proposal_13_staking_verifier_change_limits_set_implementation_celo.js index 78fabec9..9f7119ac 100644 --- a/scripts/proposals/proposal_13_staking_verifier_change_limits_set_implementation_celo.js +++ b/scripts/proposals/proposal_13_staking_verifier_change_limits_set_implementation_celo.js @@ -62,7 +62,10 @@ async function main() { const targetChain = 14; // celo const minGasLimit = "2000000"; + // Get the transfer cost const transferCost = await wormholeRelayer["quoteEVMDeliveryPrice(uint16,uint256,uint256)"](targetChain, 0, minGasLimit); + // Multiply x10 to avoid cost fluctuations + const transferCostFinal = transferCost.nativePriceQuote.mul(10); // Proposal preparation console.log("Proposal 13. Change staking limits on celo in StakingVerifier and whitelist StakingTokenImplementation in StakingFactory\n"); @@ -72,7 +75,7 @@ async function main() { wormholeMessengerAddress, data, 0, minGasLimit, targetChain, wormholeMessengerAddress]); const targets = [wormholeRelayerAddress]; - const values = [transferCost.nativePriceQuote.toString()]; + const values = [transferCostFinal.toString()]; const callDatas = [timelockPayload]; const description = "Change staking limits on celo in StakingVerifier and whitelist StakingTokenImplementation in StakingFactory";