From b19669a84b70ddac7ae8db7418cc7ce6c26dfd5f Mon Sep 17 00:00:00 2001 From: Roberto Cantu Date: Tue, 12 Dec 2023 10:18:04 -0600 Subject: [PATCH] Release, final clean-up --- .github/workflows/release.yml | 414 +++++++++--------- .../staking/slashing/SlashingController.sol | 1 + releases/1.2.10/index.yml | 13 +- .../1.2.10/mumbai/config/propose-admin.json | 10 + releases/1.2.10/mumbai/config/upgrade.json | 111 +++++ .../mumbai/output/prepared-upgrades.json | 117 ++++- releases/1.2.10/polygon/config/upgrade.json | 111 +++++ .../polygon/output/prepared-upgrades.json | 114 +++++ 8 files changed, 682 insertions(+), 209 deletions(-) create mode 100644 releases/1.2.10/mumbai/config/propose-admin.json diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d240a0f7..89b7f104 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -40,140 +40,12 @@ jobs: path: | artifacts cache/*.json - # test: - # name: Test release - # if: startsWith(github.head_ref, 'release/') - # runs-on: ubuntu-22.04 - # # timeout-minutes: 20 - # needs: build - # steps: - # - uses: actions/checkout@v3 - # with: - # ref: ${{ github.event.pull_request.head.sha }} - # - uses: actions/setup-node@v3 - # with: - # node-version: '14' - # cache: 'yarn' - # - run: yarn install --frozen-lockfile - - # - name: Get build artifacts - # uses: actions/download-artifact@v3 - # with: - # name: contract-artifacts - - # - name: Run unit tests - # run: yarn test --no-compile - - # coverage: - # name: Code coverage - # if: startsWith(github.head_ref, 'release/') - # runs-on: ubuntu-22.04 - # needs: test - # # needs: build - # steps: - # - uses: actions/checkout@v3 - # with: - # ref: ${{ github.event.pull_request.head.sha }} - # - uses: actions/setup-node@v3 - # with: - # node-version: '14' - # cache: 'yarn' - # - run: yarn install --frozen-lockfile - - # - run: yarn coverage - # - uses: codecov/codecov-action@v3 - # with: - # token: ${{ secrets.CODECOV_TOKEN }} - # - - prepare: - name: Prepare release + test: + name: Test release if: startsWith(github.head_ref, 'release/') runs-on: ubuntu-22.04 - # needs: coverage + # timeout-minutes: 20 needs: build - outputs: - release_version: ${{ steps.parse.outputs.release_version }} - release_path: ${{ steps.parse.outputs.release_path }} - release_network: ${{ steps.parse.outputs.release_network }} - release_title: ${{ steps.parse.outputs.release_title }} - release_description: ${{ steps.parse.outputs.release_description }} - release_multisig: ${{ steps.parse.outputs.release_multisig }} - release_audited: ${{ steps.parse.outputs.release_audited }} - release_deploy_cmd: ${{ steps.parse.outputs.release_deploy_cmd }} - release_verify_cmd: ${{ steps.parse.outputs.release_verify_cmd }} - release_finish_cmd: ${{ steps.parse.outputs.release_finish_cmd }} - steps: - - uses: actions/checkout@v3 - with: - ref: ${{ github.event.pull_request.head.sha }} - fetch-depth: 0 - - - name: Parse release info - id: parse - run: | - version=${BRANCH_NAME#release\/} - release_path=releases/$version - network=$(yq -r .network $release_path/index.yml) - path=$release_path/$network - echo "release_version=$version" >> $GITHUB_OUTPUT - echo "release_path=$path" >> $GITHUB_OUTPUT - echo "release_network=$network" >> $GITHUB_OUTPUT - echo "release_multisig=$(jq -r .$network releases/deployments/multisigs.json)" >> $GITHUB_OUTPUT - echo "release_deploy_cmd=$(yq -r '.deploy // ""' $release_path/index.yml)" >> $GITHUB_OUTPUT - echo "release_verify_cmd=$(yq -r '.verify // ""' $release_path/index.yml)" >> $GITHUB_OUTPUT - echo "release_finish_cmd=$(yq -r '.finish // ""' $release_path/index.yml)" >> $GITHUB_OUTPUT - echo "release_audited=$(yq -r '.audited // ""' $release_path/index.yml)" >> $GITHUB_OUTPUT - echo "release_title=$(yq -r '.title // ""' $release_path/index.yml)" >> $GITHUB_OUTPUT - echo "release_description<> $GITHUB_OUTPUT - echo "$(yq -r '.description // ""' $release_path/index.yml)" >> $GITHUB_OUTPUT - echo "DESCRIPTION_DELIMITER" >> $GITHUB_OUTPUT - env: - BRANCH_NAME: ${{ github.head_ref }} - - - name: Output summary - run: | - echo "## $TITLE" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "**Network:** $NETWORK" >> $GITHUB_STEP_SUMMARY - echo "**Commit:** [\`$COMMIT\`]($GITHUB_SERVER_URL/$GITHUB_REPOSITORY/tree/$COMMIT)" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "$DESCRIPTION" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - env: - TITLE: ${{ steps.parse.outputs.release_title }} - DESCRIPTION: ${{ steps.parse.outputs.release_description }} - NETWORK: ${{ steps.parse.outputs.release_network }} - COMMIT: ${{ github.event.pull_request.head.sha }} - - - name: Output audit info - if: "steps.parse.outputs.release_audited != ''" - run: | - echo "---" >> $GITHUB_STEP_SUMMARY - echo "### Audit" >> $GITHUB_STEP_SUMMARY - echo "Audited contracts at commit [\`$AUDIT_COMMIT\`]($GITHUB_SERVER_URL/$GITHUB_REPOSITORY/tree/$AUDIT_COMMIT) :detective:" >> $GITHUB_STEP_SUMMARY - audit_diff="$(git diff $AUDIT_COMMIT *.sol)" - if [[ -z $audit_diff ]]; then - echo "Contracts have not been modified since audit :heavy_check_mark:" >> $GITHUB_STEP_SUMMARY - else - echo "Contracts have been modified since audit :warning:" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "\`\`\`diff" >> $GITHUB_STEP_SUMMARY - echo "$audit_diff" >> $GITHUB_STEP_SUMMARY - echo "\`\`\`" >> $GITHUB_STEP_SUMMARY - fi - env: - AUDIT_COMMIT: ${{ steps.parse.outputs.release_audited }} - - deploy: - name: Deploy contracts - if: startsWith(github.head_ref, 'release/') - runs-on: ubuntu-22.04 - timeout-minutes: 20 - needs: prepare - environment: production - outputs: - deploy_commit: ${{ steps.commit.outputs.commit_hash }} steps: - uses: actions/checkout@v3 with: @@ -189,30 +61,158 @@ jobs: with: name: contract-artifacts - - name: Deploy contracts - run: eval yarn hardhat --network ${{ needs.prepare.outputs.release_network }} ${{ needs.prepare.outputs.release_deploy_cmd }} - env: - INFURA_PROJECT_ID: '${{ secrets.INFURA_PROJECT_ID }}' - MUMBAI_MNEMONIC: '${{ secrets.MUMBAI_MNEMONIC }}' - MUMBAI_NODE: '${{ secrets.MUMBAI_NODE }}' - POLYGON_MNEMONIC: '${{ secrets.POLYGON_MNEMONIC }}' - POLYGON_NODE: '${{ secrets.POLYGON_NODE }}' - POLYGON_GAS_PRICE: 1200000000000 - DEBUG: '@openzeppelin:*' - # ETHERSCAN "${{ secrets.ETHERSCAN }}" - POLYSCAN: '${{ secrets.POLYSCAN }}' - RELEASE_PATH: '${{ needs.prepare.outputs.release_path }}' - MULTISIG_ADDRESS: '${{ needs.prepare.outputs.release_multisig }}' + - name: Run unit tests + run: yarn test --no-compile - - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4 - id: commit - if: always() - with: - commit_message: Update registries of deployed addresses - file_pattern: '.openzeppelin/ releases/' - skip_checkout: true - # tagging_message: '${{ needs.prepare.outputs.release_version }}' + coverage: + name: Code coverage + if: startsWith(github.head_ref, 'release/') + runs-on: ubuntu-22.04 + needs: test + # needs: build + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.sha }} + - uses: actions/setup-node@v3 + with: + node-version: '14' + cache: 'yarn' + - run: yarn install --frozen-lockfile + + - run: yarn coverage + - uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + + + # prepare: + # name: Prepare release + # if: startsWith(github.head_ref, 'release/') + # runs-on: ubuntu-22.04 + # # needs: coverage + # needs: build + # outputs: + # release_version: ${{ steps.parse.outputs.release_version }} + # release_path: ${{ steps.parse.outputs.release_path }} + # release_network: ${{ steps.parse.outputs.release_network }} + # release_title: ${{ steps.parse.outputs.release_title }} + # release_description: ${{ steps.parse.outputs.release_description }} + # release_multisig: ${{ steps.parse.outputs.release_multisig }} + # release_audited: ${{ steps.parse.outputs.release_audited }} + # release_deploy_cmd: ${{ steps.parse.outputs.release_deploy_cmd }} + # release_verify_cmd: ${{ steps.parse.outputs.release_verify_cmd }} + # release_finish_cmd: ${{ steps.parse.outputs.release_finish_cmd }} + # steps: + # - uses: actions/checkout@v3 + # with: + # ref: ${{ github.event.pull_request.head.sha }} + # fetch-depth: 0 + + # - name: Parse release info + # id: parse + # run: | + # version=${BRANCH_NAME#release\/} + # release_path=releases/$version + # network=$(yq -r .network $release_path/index.yml) + # path=$release_path/$network + # echo "release_version=$version" >> $GITHUB_OUTPUT + # echo "release_path=$path" >> $GITHUB_OUTPUT + # echo "release_network=$network" >> $GITHUB_OUTPUT + # echo "release_multisig=$(jq -r .$network releases/deployments/multisigs.json)" >> $GITHUB_OUTPUT + # echo "release_deploy_cmd=$(yq -r '.deploy // ""' $release_path/index.yml)" >> $GITHUB_OUTPUT + # echo "release_verify_cmd=$(yq -r '.verify // ""' $release_path/index.yml)" >> $GITHUB_OUTPUT + # echo "release_finish_cmd=$(yq -r '.finish // ""' $release_path/index.yml)" >> $GITHUB_OUTPUT + # echo "release_audited=$(yq -r '.audited // ""' $release_path/index.yml)" >> $GITHUB_OUTPUT + # echo "release_title=$(yq -r '.title // ""' $release_path/index.yml)" >> $GITHUB_OUTPUT + # echo "release_description<> $GITHUB_OUTPUT + # echo "$(yq -r '.description // ""' $release_path/index.yml)" >> $GITHUB_OUTPUT + # echo "DESCRIPTION_DELIMITER" >> $GITHUB_OUTPUT + # env: + # BRANCH_NAME: ${{ github.head_ref }} + + # - name: Output summary + # run: | + # echo "## $TITLE" >> $GITHUB_STEP_SUMMARY + # echo "" >> $GITHUB_STEP_SUMMARY + # echo "**Network:** $NETWORK" >> $GITHUB_STEP_SUMMARY + # echo "**Commit:** [\`$COMMIT\`]($GITHUB_SERVER_URL/$GITHUB_REPOSITORY/tree/$COMMIT)" >> $GITHUB_STEP_SUMMARY + # echo "" >> $GITHUB_STEP_SUMMARY + # echo "$DESCRIPTION" >> $GITHUB_STEP_SUMMARY + # echo "" >> $GITHUB_STEP_SUMMARY + # env: + # TITLE: ${{ steps.parse.outputs.release_title }} + # DESCRIPTION: ${{ steps.parse.outputs.release_description }} + # NETWORK: ${{ steps.parse.outputs.release_network }} + # COMMIT: ${{ github.event.pull_request.head.sha }} + + # - name: Output audit info + # if: "steps.parse.outputs.release_audited != ''" + # run: | + # echo "---" >> $GITHUB_STEP_SUMMARY + # echo "### Audit" >> $GITHUB_STEP_SUMMARY + # echo "Audited contracts at commit [\`$AUDIT_COMMIT\`]($GITHUB_SERVER_URL/$GITHUB_REPOSITORY/tree/$AUDIT_COMMIT) :detective:" >> $GITHUB_STEP_SUMMARY + # audit_diff="$(git diff $AUDIT_COMMIT *.sol)" + # if [[ -z $audit_diff ]]; then + # echo "Contracts have not been modified since audit :heavy_check_mark:" >> $GITHUB_STEP_SUMMARY + # else + # echo "Contracts have been modified since audit :warning:" >> $GITHUB_STEP_SUMMARY + # echo "" >> $GITHUB_STEP_SUMMARY + # echo "\`\`\`diff" >> $GITHUB_STEP_SUMMARY + # echo "$audit_diff" >> $GITHUB_STEP_SUMMARY + # echo "\`\`\`" >> $GITHUB_STEP_SUMMARY + # fi + # env: + # AUDIT_COMMIT: ${{ steps.parse.outputs.release_audited }} + + # deploy: + # name: Deploy contracts + # if: startsWith(github.head_ref, 'release/') + # runs-on: ubuntu-22.04 + # timeout-minutes: 20 + # needs: prepare + # environment: production + # outputs: + # deploy_commit: ${{ steps.commit.outputs.commit_hash }} + # steps: + # - uses: actions/checkout@v3 + # with: + # ref: ${{ github.event.pull_request.head.sha }} + # - uses: actions/setup-node@v3 + # with: + # node-version: '14' + # cache: 'yarn' + # - run: yarn install --frozen-lockfile + + # - name: Get build artifacts + # uses: actions/download-artifact@v3 + # with: + # name: contract-artifacts + + # - name: Deploy contracts + # run: eval yarn hardhat --network ${{ needs.prepare.outputs.release_network }} ${{ needs.prepare.outputs.release_deploy_cmd }} + # env: + # INFURA_PROJECT_ID: '${{ secrets.INFURA_PROJECT_ID }}' + # MUMBAI_MNEMONIC: '${{ secrets.MUMBAI_MNEMONIC }}' + # MUMBAI_NODE: '${{ secrets.MUMBAI_NODE }}' + # POLYGON_MNEMONIC: '${{ secrets.POLYGON_MNEMONIC }}' + # POLYGON_NODE: '${{ secrets.POLYGON_NODE }}' + # POLYGON_GAS_PRICE: 1200000000000 + # DEBUG: '@openzeppelin:*' + # # ETHERSCAN "${{ secrets.ETHERSCAN }}" + # POLYSCAN: '${{ secrets.POLYSCAN }}' + # RELEASE_PATH: '${{ needs.prepare.outputs.release_path }}' + # MULTISIG_ADDRESS: '${{ needs.prepare.outputs.release_multisig }}' + + # - name: Commit changes + # uses: stefanzweifel/git-auto-commit-action@v4 + # id: commit + # if: always() + # with: + # commit_message: Update registries of deployed addresses + # file_pattern: '.openzeppelin/ releases/' + # skip_checkout: true + # # tagging_message: '${{ needs.prepare.outputs.release_version }}' # verify: # name: Verify contracts @@ -253,59 +253,59 @@ jobs: # RELEASE_PATH: '${{ needs.prepare.outputs.release_path }}' # ARTIFACT_REFERENCE_URL: '${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}' - finish-release: - name: Finish release - if: "startsWith(github.head_ref, 'release/')" - runs-on: ubuntu-22.04 - timeout-minutes: 20 - environment: production - needs: - - prepare - - deploy - steps: - - uses: actions/checkout@v3 - with: - ref: ${{ needs.deploy.outputs.deploy_commit || github.event.pull_request.head.sha }} - - uses: actions/setup-node@v3 - with: - node-version: '14' - cache: 'yarn' - - run: yarn install --frozen-lockfile + # finish-release: + # name: Finish release + # if: "startsWith(github.head_ref, 'release/')" + # runs-on: ubuntu-22.04 + # timeout-minutes: 20 + # environment: production + # needs: + # - prepare + # - deploy + # steps: + # - uses: actions/checkout@v3 + # with: + # ref: ${{ needs.deploy.outputs.deploy_commit || github.event.pull_request.head.sha }} + # - uses: actions/setup-node@v3 + # with: + # node-version: '14' + # cache: 'yarn' + # - run: yarn install --frozen-lockfile - - name: Get build artifacts - uses: actions/download-artifact@v3 - with: - name: contract-artifacts + # - name: Get build artifacts + # uses: actions/download-artifact@v3 + # with: + # name: contract-artifacts - - name: Complete release - if: "needs.prepare.outputs.release_finish_cmd != ''" - shell: bash - run: | - yarn hardhat --network ${{ needs.prepare.outputs.release_network }} ${{ needs.prepare.outputs.release_finish_cmd }} ${{ needs.prepare.outputs.release_version }} "${{ needs.prepare.outputs.release_title }}" "${{ needs.prepare.outputs.release_description }}" - env: - INFURA_PROJECT_ID: '${{ secrets.INFURA_PROJECT_ID }}' - MUMBAI_MNEMONIC: '${{ secrets.MUMBAI_MNEMONIC }}' - MUMBAI_NODE: '${{ secrets.MUMBAI_NODE }}' - POLYGON_MNEMONIC: "${{ secrets.POLYGON_MNEMONIC }}" - POLYGON_NODE: "${{ secrets.POLYGON_NODE }}" - POLYGON_GAS_PRICE: 1200000000000 - DEBUG: '@openzeppelin:*' - # ETHERSCAN "${{ secrets.ETHERSCAN }}" - POLYSCAN: '${{ secrets.POLYSCAN }}' - DEFENDER_API_KEY: '${{ secrets.DEFENDER_API_KEY }}' - DEFENDER_API_SECRET: '${{ secrets.DEFENDER_API_SECRET }}' - RELEASE_PATH: '${{ needs.prepare.outputs.release_path }}' - MULTISIG_ADDRESS: '${{ needs.prepare.outputs.release_multisig }}' + # - name: Complete release + # if: "needs.prepare.outputs.release_finish_cmd != ''" + # shell: bash + # run: | + # yarn hardhat --network ${{ needs.prepare.outputs.release_network }} ${{ needs.prepare.outputs.release_finish_cmd }} ${{ needs.prepare.outputs.release_version }} "${{ needs.prepare.outputs.release_title }}" "${{ needs.prepare.outputs.release_description }}" + # env: + # INFURA_PROJECT_ID: '${{ secrets.INFURA_PROJECT_ID }}' + # MUMBAI_MNEMONIC: '${{ secrets.MUMBAI_MNEMONIC }}' + # MUMBAI_NODE: '${{ secrets.MUMBAI_NODE }}' + # POLYGON_MNEMONIC: "${{ secrets.POLYGON_MNEMONIC }}" + # POLYGON_NODE: "${{ secrets.POLYGON_NODE }}" + # POLYGON_GAS_PRICE: 1200000000000 + # DEBUG: '@openzeppelin:*' + # # ETHERSCAN "${{ secrets.ETHERSCAN }}" + # POLYSCAN: '${{ secrets.POLYSCAN }}' + # DEFENDER_API_KEY: '${{ secrets.DEFENDER_API_KEY }}' + # DEFENDER_API_SECRET: '${{ secrets.DEFENDER_API_SECRET }}' + # RELEASE_PATH: '${{ needs.prepare.outputs.release_path }}' + # MULTISIG_ADDRESS: '${{ needs.prepare.outputs.release_multisig }}' - - name: Link to run in PR - uses: actions/github-script@v6 - env: - RUN_URL: '${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}' - with: - script: | - github.rest.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body: `[**Deploy finished**](${process.env.RUN_URL})`, - }); + # - name: Link to run in PR + # uses: actions/github-script@v6 + # env: + # RUN_URL: '${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}' + # with: + # script: | + # github.rest.issues.createComment({ + # issue_number: context.issue.number, + # owner: context.repo.owner, + # repo: context.repo.repo, + # body: `[**Deploy finished**](${process.env.RUN_URL})`, + # }); diff --git a/contracts/components/staking/slashing/SlashingController.sol b/contracts/components/staking/slashing/SlashingController.sol index 9a3c9579..705ab3fc 100644 --- a/contracts/components/staking/slashing/SlashingController.sol +++ b/contracts/components/staking/slashing/SlashingController.sol @@ -50,6 +50,7 @@ contract SlashingController is BaseComponentUpgradeable, StateMachineController, mapping(uint256 => uint256) public deposits; // proposalId --> tokenAmount mapping(bytes32 => SlashPenalty) public penalties; // penaltyId --> SlashPenalty ISlashingExecutor public slashingExecutor; + /// @custom:oz-renamed-from stakingParameters StakeSubjectGateway public subjectGateway; // Should be immutable, but it's already deployed. uint256 public depositAmount; uint256 public slashPercentToProposer; diff --git a/releases/1.2.10/index.yml b/releases/1.2.10/index.yml index eedb536e..f34a32ce 100644 --- a/releases/1.2.10/index.yml +++ b/releases/1.2.10/index.yml @@ -4,4 +4,15 @@ deploy: prepare-upgrade 1.2.10 verify: verify-deployed finish: propose-admin description: | - release/1.2.10 \ No newline at end of file + ## Deployed new implementations: + - AccessManager + - AgentRegistry + - ScannerPoolRegistry + - Dispatch + - StakeAllocator + - RewardsDistributor + - StakeSubjectGateway + - SlashingController + - FortaStaking + - ScannerNodeVersion + - ScannerToScannerPoolMigration \ No newline at end of file diff --git a/releases/1.2.10/mumbai/config/propose-admin.json b/releases/1.2.10/mumbai/config/propose-admin.json new file mode 100644 index 00000000..c78f49ab --- /dev/null +++ b/releases/1.2.10/mumbai/config/propose-admin.json @@ -0,0 +1,10 @@ +{ + "AccessManager": [ + { + "methodName": "grantRole", + "params": [ + ["roles.SLASHER_ROLE", "deployment.slashing-controller"] + ] + } + ] +} \ No newline at end of file diff --git a/releases/1.2.10/mumbai/config/upgrade.json b/releases/1.2.10/mumbai/config/upgrade.json index 6a313d8c..14171c96 100644 --- a/releases/1.2.10/mumbai/config/upgrade.json +++ b/releases/1.2.10/mumbai/config/upgrade.json @@ -1,4 +1,115 @@ { + "AccessManager": { + "impl": { + "opts": { + "unsafe-allow": [ + "delegatecall" + ], + "constructor-args": [ + "deployment.forwarder" + ] + } + } + }, + "AgentRegistry": { + "impl": { + "opts": { + "unsafe-allow": [ + "delegatecall" + ], + "constructor-args": [ + "deployment.forwarder" + ] + } + } + }, + "ScannerPoolRegistry": { + "impl": { + "opts": { + "unsafe-allow": [ + "delegatecall" + ], + "constructor-args": [ + "deployment.forwarder", "deployment.stake-allocator" + ] + } + + } + }, + "Dispatch": { + "impl": { + "opts": { + "unsafe-allow": [ + "delegatecall" + ], + "constructor-args": [ + "deployment.forwarder" + ] + } + } + }, + "StakeAllocator": { + "impl": { + "opts": { + "unsafe-allow": [ + "delegatecall" + ], + "constructor-args": [ + "deployment.forwarder", "deployment.stake-subject-gateway", "deployment.rewards-distributor" + ] + } + + } + }, + "RewardsDistributor": { + "impl": { + "opts": { + "unsafe-allow": [ + "delegatecall" + ], + "constructor-args": [ + "deployment.forwarder", "deployment.forta", "deployment.stake-subject-gateway" + ] + } + + } + }, + "StakeSubjectGateway": { + "impl": { + "opts": { + "unsafe-allow": [ + "delegatecall" + ], + "constructor-args": [ + "deployment.forwarder" + ] + } + } + }, + "FortaStaking": { + "impl": { + "opts": { + "unsafe-allow": [ + "delegatecall" + ], + "constructor-args": [ + "deployment.forwarder" + ] + } + } + }, + "SlashingController": { + "impl": { + "opts": { + "unsafe-allow": [ + "delegatecall" + ], + "constructor-args": [ + "deployment.forwarder", "deployment.forta" + ] + } + } + }, "ScannerNodeVersion": { "impl": { "opts": { diff --git a/releases/1.2.10/mumbai/output/prepared-upgrades.json b/releases/1.2.10/mumbai/output/prepared-upgrades.json index eef4692d..a0adf5f5 100644 --- a/releases/1.2.10/mumbai/output/prepared-upgrades.json +++ b/releases/1.2.10/mumbai/output/prepared-upgrades.json @@ -1,4 +1,118 @@ { + "access-manager": { + "impl": { + "address": "0x5Da21607E9e2bCA241E0EA46e27cea3bB8404505", + "constructor-args": [ + "0x4E29Cea6D64be860f5eAba110686DcB585f393D6" + ], + "init-args": [], + "name": "AccessManager", + "timeout": 1200000, + "version": "0.1.0" + } + }, + "agent-registry": { + "impl": { + "address": "0xD25Fd5B722606d08A5DdCD00e969513d06d98d89", + "constructor-args": [ + "0x4E29Cea6D64be860f5eAba110686DcB585f393D6" + ], + "init-args": [], + "name": "AgentRegistry", + "timeout": 1200000, + "version": "0.1.6" + } + }, + "scanner-pool-registry": { + "impl": { + "address": "0x72eaaBB3f5908D5Ac4Fce00285B5af120BA3EcAC", + "constructor-args": [ + "0x4E29Cea6D64be860f5eAba110686DcB585f393D6", + "0x698A6400dE3865fC9E8A6dB22302AAb3372Cebd9" + ], + "init-args": [], + "name": "ScannerPoolRegistry", + "timeout": 1200000, + "version": "0.1.0" + } + }, + "dispatch": { + "impl": { + "address": "0x0ed550214869C3c3D5C05b97A8Bb9388125C4919", + "constructor-args": [ + "0x4E29Cea6D64be860f5eAba110686DcB585f393D6" + ], + "init-args": [], + "name": "Dispatch", + "timeout": 1200000, + "version": "0.1.5" + } + }, + "stake-allocator": { + "impl": { + "address": "0x70FBC65e20DFe5ACDA5665f98A6CdA98800cC637", + "constructor-args": [ + "0x4E29Cea6D64be860f5eAba110686DcB585f393D6", + "0x02304eC24ba2996a83F595D7cf80e5571a406EFA", + "0x404afc59Cacd74A28d0D5651460Cc950b42FAf08" + ], + "init-args": [], + "name": "StakeAllocator", + "timeout": 1200000, + "version": "0.1.0" + } + }, + "rewards-distributor": { + "impl": { + "address": "0x09803F257AB3D8a390837640ED9D9F4Eb22c1453", + "constructor-args": [ + "0x4E29Cea6D64be860f5eAba110686DcB585f393D6", + "0x107Ac13567b1b5D84691f890A5bA07EdaE1a11c3", + "0x02304eC24ba2996a83F595D7cf80e5571a406EFA" + ], + "init-args": [], + "name": "RewardsDistributor", + "timeout": 1200000, + "version": "0.1.0" + } + }, + "stake-subject-gateway": { + "impl": { + "address": "0x40998890c1ad5B22CBe2deB9671E9df91b79dd16", + "constructor-args": [ + "0x4E29Cea6D64be860f5eAba110686DcB585f393D6" + ], + "init-args": [], + "name": "StakeSubjectGateway", + "timeout": 1200000, + "version": "0.1.1" + } + }, + "forta-staking": { + "impl": { + "address": "0x8fd9d47e80f1d711aA97C4926e5E7CB3462455E8", + "constructor-args": [ + "0x4E29Cea6D64be860f5eAba110686DcB585f393D6" + ], + "init-args": [], + "name": "FortaStaking", + "timeout": 1200000, + "version": "0.1.2" + } + }, + "slashing-controller": { + "impl": { + "address": "0xC43E5C075e4081209F337f0431D8c488Cd61B522", + "constructor-args": [ + "0x4E29Cea6D64be860f5eAba110686DcB585f393D6", + "0x107Ac13567b1b5D84691f890A5bA07EdaE1a11c3" + ], + "init-args": [], + "name": "SlashingController", + "timeout": 1200000, + "version": "0.1.1" + } + }, "scanner-node-version": { "impl": { "address": "0xAA42d92242eA0a6195452C6B64B4Dc5D4282e0a5", @@ -26,4 +140,5 @@ "version": "0.1.0" } } -} \ No newline at end of file +} + \ No newline at end of file diff --git a/releases/1.2.10/polygon/config/upgrade.json b/releases/1.2.10/polygon/config/upgrade.json index 6a313d8c..14171c96 100644 --- a/releases/1.2.10/polygon/config/upgrade.json +++ b/releases/1.2.10/polygon/config/upgrade.json @@ -1,4 +1,115 @@ { + "AccessManager": { + "impl": { + "opts": { + "unsafe-allow": [ + "delegatecall" + ], + "constructor-args": [ + "deployment.forwarder" + ] + } + } + }, + "AgentRegistry": { + "impl": { + "opts": { + "unsafe-allow": [ + "delegatecall" + ], + "constructor-args": [ + "deployment.forwarder" + ] + } + } + }, + "ScannerPoolRegistry": { + "impl": { + "opts": { + "unsafe-allow": [ + "delegatecall" + ], + "constructor-args": [ + "deployment.forwarder", "deployment.stake-allocator" + ] + } + + } + }, + "Dispatch": { + "impl": { + "opts": { + "unsafe-allow": [ + "delegatecall" + ], + "constructor-args": [ + "deployment.forwarder" + ] + } + } + }, + "StakeAllocator": { + "impl": { + "opts": { + "unsafe-allow": [ + "delegatecall" + ], + "constructor-args": [ + "deployment.forwarder", "deployment.stake-subject-gateway", "deployment.rewards-distributor" + ] + } + + } + }, + "RewardsDistributor": { + "impl": { + "opts": { + "unsafe-allow": [ + "delegatecall" + ], + "constructor-args": [ + "deployment.forwarder", "deployment.forta", "deployment.stake-subject-gateway" + ] + } + + } + }, + "StakeSubjectGateway": { + "impl": { + "opts": { + "unsafe-allow": [ + "delegatecall" + ], + "constructor-args": [ + "deployment.forwarder" + ] + } + } + }, + "FortaStaking": { + "impl": { + "opts": { + "unsafe-allow": [ + "delegatecall" + ], + "constructor-args": [ + "deployment.forwarder" + ] + } + } + }, + "SlashingController": { + "impl": { + "opts": { + "unsafe-allow": [ + "delegatecall" + ], + "constructor-args": [ + "deployment.forwarder", "deployment.forta" + ] + } + } + }, "ScannerNodeVersion": { "impl": { "opts": { diff --git a/releases/1.2.10/polygon/output/prepared-upgrades.json b/releases/1.2.10/polygon/output/prepared-upgrades.json index 01e79504..178888f3 100644 --- a/releases/1.2.10/polygon/output/prepared-upgrades.json +++ b/releases/1.2.10/polygon/output/prepared-upgrades.json @@ -1,4 +1,118 @@ { + "access-manager": { + "impl": { + "address": "0x739707848131F41aCd1d78A56FE0eA02052811Df", + "constructor-args": [ + "0xff771084D7C2e54C0F9cA79dA23656514D2c5dd2" + ], + "init-args": [], + "name": "AccessManager", + "timeout": 1200000, + "version": "0.1.0" + } + }, + "agent-registry": { + "impl": { + "address": "0xE7e6c9A579eF43FfE629F9B99a9e4585ae69ED9c", + "constructor-args": [ + "0xff771084D7C2e54C0F9cA79dA23656514D2c5dd2" + ], + "init-args": [], + "name": "AgentRegistry", + "timeout": 1200000, + "version": "0.1.6" + } + }, + "scanner-pool-registry": { + "impl": { + "address": "0x92FA117c7c071cC11b544931c46c9e3096d6FcB1", + "constructor-args": [ + "0xff771084D7C2e54C0F9cA79dA23656514D2c5dd2", + "0x5B73756e637A77Fa52e5Ce71EC6189A4C775c6FA" + ], + "init-args": [], + "name": "ScannerPoolRegistry", + "timeout": 1200000, + "version": "0.1.0" + } + }, + "dispatch": { + "impl": { + "address": "0xB5F1A9C329924Fe8203A91aa891182d4E331fF0A", + "constructor-args": [ + "0xff771084D7C2e54C0F9cA79dA23656514D2c5dd2" + ], + "init-args": [], + "name": "Dispatch", + "timeout": 1200000, + "version": "0.1.5" + } + }, + "stake-allocator": { + "impl": { + "address": "0x8A9B40aE0cCa4f602CA3E4f68114b69C794571F0", + "constructor-args": [ + "0xff771084D7C2e54C0F9cA79dA23656514D2c5dd2", + "0x587969Add789c13F64Bcc34Ff253BD9BFB78f38a", + "0xf7239f26b79145297737166b0C66F4919af9c507" + ], + "init-args": [], + "name": "StakeAllocator", + "timeout": 1200000, + "version": "0.1.0" + } + }, + "rewards-distributor": { + "impl": { + "address": "0xfc3642038a312Ff983BdBC1F5C900eEC20AaFfB6", + "constructor-args": [ + "0xff771084D7C2e54C0F9cA79dA23656514D2c5dd2", + "0x9ff62d1FC52A907B6DCbA8077c2DDCA6E6a9d3e1", + "0x587969Add789c13F64Bcc34Ff253BD9BFB78f38a" + ], + "init-args": [], + "name": "RewardsDistributor", + "timeout": 1200000, + "version": "0.1.0" + } + }, + "stake-subject-gateway": { + "impl": { + "address": "0x6C85A754F9c79178D9701e91C29C995f227D7551", + "constructor-args": [ + "0xff771084D7C2e54C0F9cA79dA23656514D2c5dd2" + ], + "init-args": [], + "name": "StakeSubjectGateway", + "timeout": 1200000, + "version": "0.1.1" + } + }, + "forta-staking": { + "impl": { + "address": "0xeA359707f17Aeb000c9385b4Bfd1cC7be62d4Bc7", + "constructor-args": [ + "0xff771084D7C2e54C0F9cA79dA23656514D2c5dd2" + ], + "init-args": [], + "name": "FortaStaking", + "timeout": 1200000, + "version": "0.1.2" + } + }, + "slashing-controller": { + "impl": { + "address": "0x525a90638330473bE7bB756465ca443a03b53068", + "constructor-args": [ + "0xff771084D7C2e54C0F9cA79dA23656514D2c5dd2", + "0x9ff62d1FC52A907B6DCbA8077c2DDCA6E6a9d3e1" + ], + "init-args": [], + "name": "SlashingController", + "timeout": 1200000, + "version": "0.1.0" + } + }, "scanner-node-version": { "impl": { "address": "0x61dE69E421d50F7290373fc38751f694ff1e1984",